body {
    font-family: Georgia, serif;
    color: #111;
    width: 900px;
}

.profile-pic {
    width: 280px;
    border-radius: 5px; 
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.profile-pic:hover {
    transform: scale(1.04);
}

.top-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.contact-box {
    background: #f9f9f9;
    border-radius: 8px;
    padding: 10px 12px;
    display: inline-block;
    margin-top: 0.6em;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    font-size: 0.95em;
}

.contact-box img {
    width: 16px;
    vertical-align: middle;
    margin-right: 6px;
    opacity: 0.9;
}

.contact-box a {
    margin-right: 16px;
}

.emoji {
    font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, sans-serif;
    font-size: 1.1em;
}

.publication-entry {
    display: flex;
    gap: 20px;
    align-items: center;
    background: #fdfdfd;
    padding: 16px 20px;
    margin: 20px 0;
    border-radius: 12px;
    border: 1px solid #eee;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
}
/*
.publication-entry img {
    width: 240px;
    height: 160px;
    object-fit: cover;
    border-radius: 10px;
    flex-shrink: 0;
    margin-left: -4px;
}
*/
.publication-entry img {
    width: 240px;
    height: 160px;
    object-fit: cover;
    border-radius: 10px;
    flex-shrink: 0;
    margin-left: -4px;
    transition: transform 0.3s ease; 
    cursor: pointer; 
}

.publication-entry img:hover {
    transform: scale(1.06);
}

.publication-entry div {
    line-height: 1.6;
    flex: 1;
}

.pub-list {
    list-style: none;
    padding-left: 0;
}

h1, h2 {
    color: #263054;
    border-bottom: 1px solid #aaa;
    padding-bottom: 5px;
    margin-top: 20px;
}


table#tlayout {
	background: white; border: currentColor; border-image: none; border-collapse: separate;
}
html {
	background-color: rgb(238, 238, 238);
}
body {
	margin: 30px auto; padding: 10px 50px 30px; text-align: left; color: rgb(0, 0, 0); font-family: Georgia, serif; max-width: 960px; background-color: rgb(255, 255, 255);
}
#layout-menu {
	background: rgb(246, 246, 246); border: 1px solid rgb(221, 221, 221); border-image: none; width: auto; text-align: left; padding-top: 0.5em; padding-right: 8px; padding-left: 8px; font-size: 1em; vertical-align: top; white-space: nowrap;
}
#layout-menu td {
	background: rgb(244, 244, 244); vertical-align: top;
}
#layout-content {
	background: white; border: currentColor; border-image: none; text-align: left; padding-top: 0em; padding-right: 1em; padding-left: 1em; vertical-align: top;
}
#layout-menu a {
	line-height: 1.5em; margin-left: 0.5em;
}
tt {
	background: rgb(255, 255, 221);
}
pre {
	font-family: monaco, monospace; font-size: 90%;
}
tt {
	font-family: monaco, monospace; font-size: 90%;
}
a {
	color: rgb(10, 42, 159); text-decoration: none;
}
a > tt {
	color: rgb(10, 42, 159); text-decoration: none;
}
a:hover {
	border-bottom-color: gray; border-bottom-width: 1px; border-bottom-style: dotted;
}
#layout-menu a.current:link {
	color: rgb(10, 42, 159); border-bottom-color: gray; border-bottom-width: 1px; border-bottom-style: solid;
}
#layout-menu a.current:visited {
	color: rgb(10, 42, 159); border-bottom-color: gray; border-bottom-width: 1px; border-bottom-style: solid;
}
#layout-menu a:link {
	color: rgb(10, 42, 159); text-decoration: none;
}
#layout-menu a:visited {
	color: rgb(10, 42, 159); text-decoration: none;
}
#layout-menu a:hover {
	color: rgb(10, 42, 159); text-decoration: none;
}
#layout-menu a:hover {
	text-decoration: none;
}
div.menu-category {
	padding-top: 0.2em; padding-bottom: 0.1em; font-weight: bold; margin-top: 0.8em; border-bottom-color: gray; border-bottom-width: 1px; border-bottom-style: solid;
}
div.menu-item {
	text-indent: -16px; padding-left: 16px;
}
div#toptitle {
	padding-bottom: 0.2em; margin-bottom: 1.5em;
}
div#toptitle + h2 {
	margin-top: 0em;
}
div#toptitle + h3 {
	margin-top: 0em;
}
div#subtitle {
	padding-top: 0em; padding-bottom: 0.1em; margin-top: 0em; margin-bottom: 0em;
}
em {
	font-style: italic;
}
strong {
	font-weight: bold;
}
h1 {
	color: rgb(38, 48, 84); line-height: 1; padding-top: 0.5em; padding-bottom: 0.2em; margin-top: 0.7em; margin-bottom: 0.5em; border-bottom-color: rgb(170, 170, 170); border-bottom-width: 1px; border-bottom-style: solid;
}
h2 {
	color: rgb(38, 48, 84); line-height: 1; padding-top: 0.5em; padding-bottom: 0.2em; margin-top: 0.7em; margin-bottom: 0.5em; border-bottom-color: rgb(170, 170, 170); border-bottom-width: 1px; border-bottom-style: solid;
}
h3 {
	color: rgb(38, 48, 84); line-height: 1; padding-top: 0.5em; padding-bottom: 0.2em; margin-top: 0.7em; margin-bottom: 0.5em; border-bottom-color: rgb(170, 170, 170); border-bottom-width: 1px; border-bottom-style: solid;
}
h1 {
	padding-bottom: 0.3em; font-size: 165%;
}
h2 {
	padding-top: 0.8em; font-size: 125%;
}
h2 + h3 {
	padding-top: 0.2em;
}
h3 {
	font-size: 110%; border-bottom-color: currentColor; border-bottom-width: medium; border-bottom-style: none;
}
p {
	padding: 0px; line-height: 1.3; margin-top: 0em; margin-bottom: 0.8em;
}
pre {
	margin: 0px; padding: 0px;
}
div#footer {
	color: rgb(192, 192, 192); padding-top: 0.1em; font-size: small; margin-top: 4em; border-top-color: rgb(192, 192, 192); border-top-width: 1px; border-top-style: solid;
}
div#footer a {
	color: rgb(128, 160, 176);
}
div#footer-text {
	padding-bottom: 8px; float: left;
}
ul {
	padding-top: 0px; margin-top: 0.2em; margin-bottom: 0.8em;
}
ol {
	padding-top: 0px; margin-top: 0.2em; margin-bottom: 0.8em;
}
dl {
	padding-top: 0px; margin-top: 0.2em; margin-bottom: 0.8em;
}
dt {
	margin-top: 0.5em; margin-bottom: 0px;
}
dl {
	margin-left: 20px;
}
dd {
	color: rgb(34, 34, 34);
}
dd > *:first-child {
	margin-top: 0px;
}
ul {
	list-style-type: square; list-style-position: outside;
}
p + ul {
	margin-top: -0.5em;
}
p + ol {
	margin-top: -0.5em;
}
li {
	margin-top: 0.9em;
}
ol {
	list-style-type: decimal; list-style-position: outside;
}
li p {
	margin-bottom: 0.3em;
}
dd p {
	margin-bottom: 0.3em;
}
ol ol {
	list-style-type: lower-alpha;
}
ol ol ol {
	list-style-type: lower-roman;
}
p + div.codeblock {
	margin-top: -0.6em;
}
div.codeblock {
	margin-top: 1.2em; margin-right: 0%; margin-bottom: 1.3em;
}
div.infoblock {
	margin-top: 1.2em; margin-right: 0%; margin-bottom: 1.3em;
}
div.blocktitle {
	color: rgb(205, 123, 98); font-weight: bold; margin-top: 1.2em; margin-bottom: 0.1em;
}
div.blockcontent {
	padding: 0.3em 0.5em; border: 1px solid silver; border-image: none;
}
div.infoblock > div.blockcontent {
	background: rgb(255, 255, 238);
}
div.blockcontent p + ul {
	margin-top: 0.4em;
}
div.blockcontent p + ol {
	margin-top: 0.4em;
}
div.infoblock p {
	margin-bottom: 0em;
}
div.infoblock li p {
	margin-bottom: 0.5em;
}
div.infoblock dd p {
	margin-bottom: 0.5em;
}
div.infoblock p + p {
	margin-top: 0.8em;
}
div.codeblock > div.blockcontent {
	background: rgb(246, 246, 246);
}
span.pycommand {
	color: rgb(0, 0, 112);
}
span.statement {
	color: rgb(0, 136, 0);
}
span.builtin {
	color: rgb(0, 0, 136);
}
span.special {
	color: rgb(153, 0, 0);
}
span.operator {
	color: rgb(136, 0, 0);
}
span.error {
	color: rgb(170, 0, 0);
}
span.comment {
	color: rgb(96, 96, 96);
}
span.comment > * {
	color: rgb(96, 96, 96);
}
span.string {
	color: rgb(96, 96, 96);
}
span.string > * {
	color: rgb(96, 96, 96);
}
@media print
{
#layout-menu {
	display: none;
}
}
#fwtitle {
	margin: 2px;
}
#fwtitle #toptitle {
	padding-left: 0.5em; margin-bottom: 0.5em;
}
#layout-content h1:first-child {
	margin-top: -0.7em;
}
#layout-content h2:first-child {
	margin-top: -0.7em;
}
#layout-content h3:first-child {
	margin-top: -0.7em;
}
div#toptitle h1 {
	padding-top: 0px; padding-bottom: 0.1em; margin-top: 0.5em; margin-bottom: 0em; border-bottom-color: currentColor; border-bottom-width: medium; border-bottom-style: none;
}
#layout-content div#toptitle h1 {
	padding-top: 0px; padding-bottom: 0.1em; margin-top: 0.5em; margin-bottom: 0em; border-bottom-color: currentColor; border-bottom-width: medium; border-bottom-style: none;
}
img.eq {
	margin: 0px; padding: 0px 0.1em;
}
img.eqwl {
	margin: 0px; padding-top: 0.6em; padding-bottom: 0.2em; padding-left: 2em;
}
table + table {
	margin-top: 1em;
}
tr.heading {
	font-weight: bold; border-bottom-color: black; border-bottom-width: 2px; border-bottom-style: solid;
}
img {
	border: currentColor; border-image: none;
}
table.imgtable {
	border: currentColor; border-image: none; text-align: left;
}
table.imgtable td {
	border: currentColor; border-image: none; text-align: left;
}
table
{
padding: 5px;
}

table.pub_table,td.pub_td1,td.pub_td2
{
padding: 8px;
/* width: 860px; */
    border-collapse: separate;
    border-spacing: 15px;
    margin-top: -5px;
}

td.pub_td1
{
width:50px;
}
td.pub_td1 img
{
  /*height:120px;*/
  width: 160px;
}

table.pub_table tr {
  /*outline: thin dotted #666666;*/
}
