body {
    margin: 2em auto;
    max-width: 952px;
    color:rgb(46, 45, 40);
    padding: 0 1em;
    line-height: 1.5;
    white-space: normal;
    font-family: Georgia, 'Times New Roman', Times, serif;
    background-color: #eee;
}

#content {
    max-width: 920px;
    background-color: white;
    padding: 20px;
    box-shadow: 0px 0px 10px 10px #aaa;
}

* {
    box-sizing: border-box;
}

footer {
    margin-top: 40px;
}

.row::after {
    content: "";
    clear: both;
    display: table;
}

[class*="col-"] {
    float: left;
    padding: 15px;
}

/* For mobile: */
[class*="col-"] {
    width: 100%;
}
  
@media only screen and (min-width: 768px) {
    /* For desktop: */
    .col-1 {width: 8.33%;}
    .col-2 {width: 16.66%;}
    .col-3 {width: 25%;}
    .col-4 {width: 33.33%;}
    .col-5 {width: 41.66%;}
    .col-6 {width: 50%;}
    .col-7 {width: 58.33%;}
    .col-8 {width: 66.66%;}
    .col-9 {width: 75%;}
    .col-10 {width: 83.33%;}
    .col-11 {width: 91.66%;}
    .col-12 {width: 100%;}
}

a,
a.visited {
    color: inherit;
    text-decoration: underline;
}

h2 {
    text-align: center;
}

#header {
    margin-bottom: 30px;
}

.header-image {
    max-width: 100%;
}

.nav {
    padding: 0px;
    text-align: center;
}
.nav li {
    display: block;
    margin: 10px;
}
.nav .nav-spacer {
    display: none;
}
.nav a {
    padding: 10px;
    text-decoration: none;
}
.nav a:hover {
    text-decoration: underline;
}
@media only screen and (min-width: 480px) {
    .nav li {
        display: inline;
        margin: 0px;
    }
    .nav .nav-spacer {
        display: inline;
    }
}

.headshot-image {
    width: 100%;
    max-width: 200px;
    border-radius: 10px;
}

.signature {
    float: left;
    width: 75%;
    padding: 15px;
 }

.signature-name {
    font-size: 2em;
    font-weight: bold;
}
.signature-subtitle {
    font-size: 1.5em;
    font-style: italic;
    margin-bottom: 10px;
}

.pub-body {
    margin: 0px 20px;
}

.pub-row-margin {
    margin-bottom: 30px;
}

.row-spacer {
    height: 30px;
}

.pub-title {
    font-size: 2em;
    line-height: 1.25em;
    font-weight: bold;
    margin-bottom: 20px;
}

.pub-authors {
    font-size: 1em;
    font-weight: bold;
    color:rgb(92, 90, 80);
    margin-bottom: 10px;
}

.pub-venue {
    font-size: 1em;
    font-style: italic;
    color:rgb(39, 58, 94);
    margin-bottom: 10px;
}

.pub-tags {
    margin-bottom: 10px;
    color:rgb(92, 90, 80);
    font-size: smaller;
}

.pub-callout {
    margin: 10px 0;
    font-style: italic;
    font-weight: bold;
}

.pub-image {
    width: 100%;
    max-width: 300px;
    float: left;
    /* margin-left: 20px; */
    margin-right: 20px;
    margin-bottom: 20px;
}

.pub-heading {
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 10px;
}

.pub-subheading {
    font-size: 1.25em;
    font-weight: bold;
    margin-bottom: 10px;
}

.pub-icon-group {
    float: left;
    margin-right: 20px;
    margin-bottom: 10px;
    text-align: center;
}

.pub-icon {
    border: 1px solid black;
    display: block;
    max-width: 200px;
    max-height: 200px;
}

.pub-media-group {
    float: left;
    max-width: 400px;
    margin-right: 20px;
    margin-bottom: 20px;
    text-align: center;
}

.pub-media-group-wide {
    float: left;
    width: 100%;
    margin-right: 20px;
    margin-bottom: 20px;
    text-align: center;
}

.pub-media-youtube {
    position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
    margin-bottom: 20px;
}

.pub-media-youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.pub-media {
    display: block;
    width: 100%;
    max-width: 400px;
    /* max-height: 400px; */
}

.pub-media-wide {
    display: block;
    width: 100%;
}

.post-heading {
    font-size: 1.5em;
    margin-bottom: 20px;
    text-align: center;
}

.post-heading-smaller {
    font-size: 1.5em;
    margin-bottom: 20px;
    text-align: center;
}

.post-list-heading {
    font-size: 1.5em;
    /* margin-bottom: 20px; */
    /* text-align: center; */
    background-color: #eee;
    padding-bottom: 5px;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 3px;
    /* border-radius: 20px; */
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    margin-top: -1px;
}

.post-list-heading:hover {
    background-color: #ddd;
    cursor: pointer;
}

.align-left {
    text-align: left;
}

.align-right {
    text-align: right;
}

.post-group {
    display: block;
}

.post-item {
    /* margin-bottom: 10px; */
    /* margin-bottom: -1px; */
    /* border-top: 1px solid #c9c9c9; */
    border-bottom: 1px solid #c9c9c9;
    padding-top: 10px;
    padding-bottom: 10px;
    /* background-color: #efefef;
    border: 1px solid black;
    border-radius: 10px; */
}

.post-item-related {
    /* margin-bottom: 10px; */
    margin-bottom: -1px;
    border-top: 1px solid #c9c9c9;
    border-bottom: 1px solid #c9c9c9;
    padding-top: 10px;
    padding-bottom: 10px;
    /* background-color: #efefef;
    border: 1px solid black;
    border-radius: 10px; */
}

.post-icon {
    width: 100%;
    max-width: 144px;
}

.post-title {
    font-size: larger;
    font-weight: bold;
    margin-bottom: 10px;
}

.post-authors {
    font-weight: bold;
    color:rgb(92, 90, 80);
    margin-bottom: 5px;
}

.post-venue {
    font-style: italic;
    color:rgb(39, 58, 94);
    margin-bottom: 5px;
}

.post-tags {
    color:rgb(92, 90, 80);
    font-size: smaller;
    margin-bottom: 10px;
}

.tag-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 15px;
    /* border-bottom: 1px solid #c9c9c9; */
}
  
.tag-button {
    display: inline-block;
    padding: 0px 4px;
    margin: 3px;
    border-radius: 4px;
    background-color: #eaeaea;
    color: #333;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    font-size: smaller;
    border: 1px solid #c9c9c9;
}

.tag-button:hover {
    background-color: #ddd;
    cursor: pointer;
}

.selected, .selected:hover {
    border: 1px solid black;
    background-color: #333;
    color: #fff;
}

.center {
    text-align: center;
    font-size: small;
    margin: 30px;
}

/* .tags {
    border: 1px solid #333;
} */
/* 
.tags .post-list-heading {
    font-size: 1.5em;
    margin-bottom: -1px;
} */

.tags .post-group {
    margin-top: 10px;
}

/* .tags .post-list-heading .arrow {
    padding: 3px;
    border-width: 0 2px 2px 0;
} */

/* .post-list-group {
    border: 1px solid #c9c9c9;
    border-radius: 20px;
} */

.controls {
    display: flex;
    justify-content: right;
    align-items: center;
    margin-bottom: 5px;
}

.header-button {
    text-align: right;
    /* color: #fff; */
    /* background-color: #555; */
    padding: 0px 4px;
    margin: 3px;
    /* border-radius: 4px; */
    cursor: pointer;
    text-decoration: underline;
    font-size: smaller;
    /* border: 1px solid black; */
}

.header-button:hover {
    /* background-color: #444; */
    /* border-color: #aaa; */
    cursor: pointer;
}

blockquote {
    margin: 0 10px;
    padding: 0 10px;
    color: #555;
    border-left: 3px solid #ddd;
}

.more-tags-button {
    padding: 0px 4px;
    margin: 3px;
    cursor: pointer;
    text-decoration: underline;
    font-size: smaller;
}

.more-tags-button:hover {
    cursor: pointer;
}

#hidden-tags {
    display: none;
}