/* Hardboiled academic tone: stark contrast, print texture, restrained red/yellow accents. */
.top-navbar { position: fixed; top: 0; left: 0; right: 0; background-color: #111111; border-bottom: 4px solid #b51d1a; z-index: 1000; box-shadow: 0 2px 0 #111111; }

.nav-container { max-width: 1100px; margin: 0 auto; padding: 0 20px; display: flex; justify-content: space-between; align-items: center; height: 52px; }

.nav-logo { font-family: "Anton", Impact, "Arial Black", sans-serif; font-size: 1.18rem; font-weight: 400; color: #ffffff !important; text-decoration: none !important; letter-spacing: 0.08em; text-transform: uppercase; }

.nav-logo:hover { color: #ffd64a !important; text-decoration: underline !important; }

.nav-menu { display: flex; list-style: none; margin: 0; padding: 0; gap: 22px; }

.nav-menu li { margin: 0; }

.nav-menu a { color: #ffffff !important; text-decoration: none !important; font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif; font-size: 0.95rem; font-weight: 900; position: relative; text-transform: uppercase; letter-spacing: 0.06em; }

.nav-menu a:hover { color: #ffd64a !important; text-decoration: underline !important; }

.nav-menu a::after { display: none; }

.nav-menu a:hover::after { width: 0; }

.top-navbar a:hover { background-color: transparent !important; }

html { scroll-behavior: smooth; scroll-padding-top: 80px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body { padding-top: 56px; background: #e7e2d3; color: #111111; font-weight: 500; overflow-x: hidden; }

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

.social-icons a { display: inline-block; height: 2.4rem; width: 2.4rem; background-color: #fbfaf4; color: #111111 !important; border-radius: 0; border: 3px solid #111111; text-align: center; font-size: 1.1rem; line-height: 2.2rem; margin-right: 0.65rem; text-decoration: none !important; box-shadow: 3px 3px 0 #111111; }

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

.social-icons a:hover { background-color: #b51d1a; color: #fbfaf4 !important; transform: none; text-decoration: none; }

/*
.social-icons a:after { content: ''; display: block; margin: 0px; height: 1px; width: 0px; background: transparent; transition: width .5s ease, background-color .5s ease; } .social-icons a:hover:after { width: 100%; background: #337ab7; } */
.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"; background: #111111; color: #fbfaf4; display: inline-block; padding: 3px 6px; margin-top: 0.35rem; }

.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: #111111; }

lightonly { visibility: visible; }

darkonly { visibility: hidden; }

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

papertitle { font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif; font-weight: 900; font-size: 100%; color: #000000; }

.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 { display: block; border-radius: 0; width: 160px; margin: 0 auto 28px; padding: 0; background: transparent; box-shadow: none; transform: none; }

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

.image.avatar img { border-radius: 0; display: block; width: 100%; padding: 0; border: 0; box-shadow: none; filter: grayscale(100%) contrast(1.12) brightness(0.98); }

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

h3, h4, h5, h6 { font-family: "Anton", Impact, "Arial Black", sans-serif; font-weight: 400; color: #111111; margin: 0 0 20px; letter-spacing: 0.06em; text-transform: uppercase; }

h1 { font-family: "Anton", Impact, "Arial Black", sans-serif; font-weight: 400; color: #111111; margin: 0 0 20px; letter-spacing: 0.06em; text-transform: uppercase; }

h2 { font-family: "Anton", Impact, "Arial Black", sans-serif; color: #111111; font-weight: 400; margin: 2px 0px 15px; font-size: 157%; letter-spacing: 0.08em; text-transform: uppercase; }

p, ul, ol, table, pre, dl { margin: 0 0 20px; font-weight: 500; }

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

h1 { font-size: 28px; }

a { color: #7b1110; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 2px; font-weight: 700; }

a:hover { color: #111111; background-color: #ffd64a; text-decoration-thickness: 3px; }

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

a:hover small { color: #777; }

.wrapper { width: 1100px; margin: 0 auto 40px; background: transparent; border: none; box-shadow: none; padding: 0; box-sizing: border-box; }

blockquote { border-left: 6px solid #b51d1a; margin: 0; padding: 8px 12px 8px 16px; font-style: normal; color: #111111; background: #fbfaf4; border-top: 1px solid #000; border-right: 1px solid #000; border-bottom: 1px solid #000; }

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

pre { max-width: 500px; padding: 8px 15px; background: #fbfaf4; border-radius: 0; border: 2px solid #111111; overflow-x: auto; }

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

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

dt { color: #111111; font-weight: 700; }

th { color: #111111; background: #ffd64a; }

img { max-width: 100%; }

header { width: 232px; float: left; position: fixed; -webkit-font-smoothing: subpixel-antialiased; padding-top: 2.0em; 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: #111111; font-weight: 900; }

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

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

section { width: 800px; float: right; padding-top: 2.0em; padding-bottom: 50px; }

small { font-size: 11px; }

hr { border: 0; background: #000000; height: 2px; 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) { .top-navbar { position: relative; }
  .nav-container { max-width: 100%; padding: 0 15px; height: 50px; }
  .nav-menu { flex-wrap: wrap; gap: 15px; font-size: 0.9rem; }
  body { padding-top: 0; }
  .wrapper { margin: 0 12px 24px; width: auto; max-width: none; box-shadow: none; padding: 0; }
  .pub-row { display: flex; align-items: center; }
  div.wrapper { width: auto; }
  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: 0; width: 150px; padding: 0; }
  #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) { .nav-container { align-items: flex-start; flex-direction: column; gap: 8px; height: auto; padding: 10px 12px; }
  .nav-logo { font-size: 1.05rem; }
  .nav-menu { gap: 8px 14px; width: 100%; }
  .nav-menu a { font-size: 0.88rem; letter-spacing: 0.03em; }
  .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: 0; width: 135px; padding: 0; }
  #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; }
