:root {
    --font-body: 'Source Sans 3', 'Segoe UI', Helvetica, Arial, sans-serif;
    --font-display: 'Manrope', 'Segoe UI', Helvetica, Arial, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

a, a:focus {
    color: #598be7;
    text-decoration: none;
}

a:hover {
    color: #f54254;
    text-decoration: none;
}

body {
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

p {
    font-weight: 400;
    line-height: 1.55;
}

strong {
    font-weight: 600;
}

.text-name {
    font-size: 33px;
    font-weight: 600;
}

.text-heading {
    font-size: 24px;
    font-weight: 600;
}

.text-papertitle {
    font-size: 16px;
    font-weight: 400;
}

.text-conference {
    font-weight: 600;
}

h3 {
    font-weight: 600;
}

.profile-photo {
    width: 100%;
    max-width: 100%;
    border-radius: 50%;
}

table {
    width: 100%;
    border: 0px;
    border-spacing: 0px;
    border-collapse: separate;
    margin-right: auto;
    margin-left: auto;
}


.pub-image {
    padding: 5px 0px 5px 40px;
    width: 30%;
    vertical-align: middle;
}

.pub-image img {
    width: 100%;
    height: 120px;
    object-fit: contain;
}

.pub-contents {
    padding: 0px 40px 0px 20px;
    width: 75%;
    vertical-align: middle;
}

.contents {
    padding: 0px 40px 0px 40px;
    width: 100%;
    vertical-align: middle;
}

.heading {
    padding: 20px 20px 10px 20px;
    width: 100%;
    vertical-align: middle;
}

.twolevel h3 {
    margin: 0px;
    padding: 5px;
}
.twolevel .twotitle {
    margin: 0px;
    padding: 5px;
}

.twolevel p {
    margin: 0px 20px 0px 20px;
    padding: 5px;
}

.threelevel h3{
    margin: 0px;
    padding: 5px;
}

.threelevel p{
    margin: 0px 20px 0px 20px;
    padding: 5px;
}

.threelevel-condensed p:first-of-type{
    margin: 0px 20px 0px 20px;
    padding: 5px 5px 5px 5px;
}
.threelevel-condensed p:not(:first-of-type){
    margin: 0px 20px 0px 20px;
    padding: 0px 5px 5px 5px;
}

.threelevel .three-inner{
    margin: 0px 40px 0px 40px;
    padding: 5px;
}
