.inv-list,
.partner-list {
    margin: 0 auto;
    max-width: 1400px;
    display: flex;
    flex-wrap: wrap;
    /* align-items: stretch; */
}

.inv-list > h2 {
    /* Tense headings for involvements */
    flex: 1 1 100%;
    padding: 0 0.8em;
}

/* compensates for some themes */
.entry-content > .inv-list {
    max-width: none !important;
    width: unset;
}

article.partner-list-item,
article.inv-list-item {
    flex: 1 1 350px;
    box-shadow: 10px 10px 20px #00000033;
    margin: 0.8em;
    position: relative;
    padding: 0.8em;
    flex-direction: column;
    border-bottom: 2px solid transparent;
    height: 100%;
}

article.partner-list-item img.partner-thumbnail {
    float: right;
    margin-left: 1em;
    max-width: 8em;
}

article.partner-list-item h2 a,
article.inv-list-item h2 a {
    text-decoration: none;
}


.person-list {
    text-align: center;
}

.person-list-item {
    box-shadow: 10px 10px 20px #00000033;
    margin: 0.8em;
    position: relative;
    padding: 0.8em;
    display: inline-block;
    width: 12em;
    height: 17em;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.person-list-item * {
    transition: opacity .3s;
}

.person-list-item .person-actions {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 1.5em 1em;
    opacity: 0;
}

.person-list-item:hover .person-actions {
    opacity: 1;
}

.partner-list-item .partner-actions,
.inv-list-item .involvement-actions {
    padding-top: .5em;
    text-align: right;
}

.partner-actions button,
.partner-actions a.button,
.involvement-actions button,
.involvement-actions a.button {
    display: inline-block;
}

.partner-list-item .partner-actions button,
.partner-list-item .partner-actions a.button,
.inv-list-item .involvement-actions button,
.inv-list-item .involvement-actions a.button,
.inv-list-item .child-involvements a {
    position: relative;
    z-index: 10;
}

.partner-list-item div.post-meta-single,
.inv-list-item div.post-meta-single {
    font-size: 0.8em;
    opacity: 0.7;
    font-weight: bolder;
}

.person-list-item div.post-meta-single {
    font-size: 0.8em;
    opacity: 0.7;
    font-weight: bolder;
    text-align: center;
}

.partner-list-item div.entry-content,
.inv-list-item div.entry-content {
    flex: 1 1 auto;
}

div.partner-list article.partner-list-item h2.entry-title,
div.inv-list article.inv-list-item h2.entry-title {
    padding: 0 0 0 0;
}

.person-list-item header.entry-header {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    padding-bottom: 1em;
    background: linear-gradient(0deg, #0000001a 0%, #0000001a 60%, #00000000 100%);
    color: #fff;
    text-shadow: 0 0 3px #000, 0 0 5px #000;
}

.person-list-item:hover header.entry-header > * {
    opacity: 0;
}

.partner-list-item h2 a:after,
.inv-list-item h2 a:after {
    content: ' ';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    z-index:5;
}

.person-list-item h2 a:after {
    content: ' ';
    width: 100%;
    height: 30em;
    top: -15em;
    left: 0;
    position: absolute;
    z-index:5;
}

.person-list-item h2 {
    text-align: center;
    font-size: 20px;
}

div.TouchPointWP-map-container {
    width: 100%;
    padding-bottom: 60vh;
    position: relative;
}

h1.archive-title.page-title {
    position: relative;
    z-index: 10;
}

.map p {
    text-align: inherit;
}

article .section-inner.TouchPointWP-detail {
    display: flex;
}

article .TouchPointWP-detail-cell {
    flex: 1 1 0;
}

article .TouchPointWP-detail-cell.TouchPointWP-map-container {
    flex: 2 2 0;
    padding-bottom: 30%;
}

main.TouchPointWP-main {
    max-width: 1200px;
    margin: auto;
    padding: 0 1em;
}

article .TouchPointWP-detail-cell .TouchPointWP-detail-cell-section {
    text-align:center;
    margin-bottom: 2em;
}

header div.header-image-container {
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

header div.header-image-container div.header-image {
    width: 100%;
    padding-bottom: 50%;
    background-size: cover;
    background-position: center;
}

header div.header-image-container div.header-image.partner-header-image {
    background-size: contain;
    background-repeat: no-repeat;
}

header img.tpwp-accessibility-header-image {
    /* visible to screen readers only */
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
header .tpwp-alert-block {
    margin: 2em 20%;
    background: #f003;
    padding: 1em;
}