:root {
    --headshot-width: 130px;
}

/* Site header (name + nav) */
.site-header {
    margin-bottom: 1.5em;
}

.site-header .header-top {
    display: grid;
    gap: 0.6em;
}

.site-header .site-title {
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
    margin: 0;
}

.site-header nav.site-nav {
    font-size: 0.98rem;
    color: var(--grey3);
}

.site-header nav.site-nav a {
    background-color: transparent;
    padding: 0;
    font-size: 0.98rem;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.site-header nav.site-nav a:hover {
    color: var(--accent2);
    background-color: transparent;
}

.site-header nav.site-nav .sep {
    margin: 0 0.35em;
    color: var(--grey3);
    background: transparent;
}

.site-header .site-rule {
    height: 1px;
    background-color: var(--palladian);
    opacity: 0.5;
    margin-top: 0.9em;
}

h1 {
    text-decoration: underline var(--grey3) 4px;
    text-transform: uppercase;
}

/* Profile Section Stuff */

#profile > h1 {
    display: none;
}

/* The section should be a block container, not a grid */
section.profile {
    display: block;
}

/* Only the inner profile div should be a grid */
section.profile > div.profile {
    display: grid;
    grid-template-columns: auto 1fr;
    margin-bottom: 1em;
}

.headshot {
    grid-column: 1;
    display: flex;
    align-items: center;
}

.headshot > img {
    width: var(--headshot-width);
    height: auto;
    border-radius: 4px;
    margin-right: 20px;
}

.blurb {
    grid-column: 2;
    display: flex;
    align-items: center;
    border-left: 2px solid var(--palladian);
    padding-left: 20px;
    font-size: 14pt;
}

.blurb > p {
    margin: 0em;
}

/* Paragraphs after the profile grid should be full-width */
#profile > p {
    width: 100%;
    margin-top: 1em;
    font-size: 14pt;
}

/* Justify profile bio text */
#profile .blurb > p,
#profile > p {
    text-align: justify;
}


/* News, Publication, and Teaching Tables */

table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1em;
    margin-bottom: 1em;
}

table > tbody > tr > td:nth-child(odd) {
    width: 6em;
    text-align: right;
    vertical-align: top;
    padding-right: 1em;
}


table > tbody > tr > td:nth-child(odd) > a {
    font-size: 11pt;
}

table > tbody > tr > td:nth-child(even) > em {
    font-size: 10pt;
}

/* Add row spacing for publication table when authors are shown */
.publications table.with-authors > tbody > tr > td {
    padding-bottom: 0.3em;
}

/* Toggle publications and news links */

.posts > h1 {
    display: flex;
    align-items: baseline;
    gap: 0.75em;
    text-decoration: none;
    text-transform: none;
}

.posts > h1 .news-heading {
    text-decoration: underline var(--grey3) 4px;
    text-transform: uppercase;
}

.posts > h1 em {
    font-size: 10pt;
    font-style: italic;
    font-weight: normal;
    text-transform: none;
    text-decoration: none;
    color: #666;
}

.posts > h1 .toggle-recent {
    float: none;
    margin-left: auto;
    text-decoration: none;
}

.publications > h1 {
    display: flex;
    align-items: baseline;
    gap: 0.75em;
    text-decoration: none;
    text-transform: none;
}

.publications > h1 .pub-heading {
    text-decoration: underline var(--grey3) 4px;
    text-transform: uppercase;
}

.publications > h1 em {
    font-size: 10pt;
    font-style: italic;
    font-weight: normal;
    text-transform: none;
    text-decoration: none;
    color: #666;
}

.publications > h1 .toggle-publications {
    float: none;
    margin-left: auto;
    text-decoration: none;
}

.toggle-publications, .toggle-awards, .toggle-recent {
    font-size: 11pt;
    float: right;
    margin: 0em;
    padding: 0em;
    background-color: transparent;
    text-transform: lowercase;
}

.toggle-publications:hover, .toggle-awards:hover, .toggle-recent:hover {
    color: var(--accent2);
}

/* Affiliations section */
.affiliations p:last-child {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2em;
    margin-top: 1em;
}

.affiliations a {
    background-color: transparent;
    padding: 0;
}

.affiliations img {
    max-height: 60px;
    width: auto;
}

.affiliations a:hover {
    opacity: 0.85;
    background-color: transparent;
    color: inherit;
}

.not-selected, .not-recent {
    display: none;
}

/* Mobile Stuff */

@media (max-width: 600px) {
    .headshot {
        display: none;
    }

    #profile > table > tbody > tr > td:nth-child(odd) {
        width: 0em;
        padding: 0em;
    }

    #profile > table > tbody > tr > td:nth-child(even) {
        padding-left: 1em;
    }
    
    table > tbody > tr > td:nth-child(odd) {
        width: unset;
    }

}
