header, header h1, header .account, nav, nav ol, footer {
    display: inline-flex;
    margin: 0;
    padding: 0;
}
header {
    background: #fafafa;
    border-bottom: 1px solid black;
    height: 60px;
    width: 100%;
}
header h1 {
    height: 60px;
    width: 228px;
    align-items: center;
    justify-content: center;
}
header h1 a img {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 60px;
    text-align: center;
}
header .account {
    margin-left: auto;
    margin-right: 1em;
    align-items: center;
    text-align: center;
}
nav ol {
    margin: 0 1em;
    vertical-align: top;
}
nav li {
    display: inline-flex;
    align-items: center;
    _cursor: pointer;
    height: 100%;
}
nav li a {
    padding: 0 1em;
    text-transform: capitalize;
    text-decoration: none;
    color: inherit;
    display: flex;
    align-items: center;
    height: 100%;
}
nav li:hover {
    text-decoration: underline;
}
nav li.active {
    background: #eef;
}
#page-container {
    position: relative;
    min-height: 100vh;
}
footer {
    align-items: center;
    background: #fafafa;
    border-top: 1px solid black;
    width: 100%;
    min-height: 1.5em;
    position: absolute;
    bottom: 0;
}
footer p.copyright {
    text-align: right;
    margin: 0 .25em 0 0;
    width: 100%;
}
footer p.help {
    text-align: left;
    margin: 0 .25em;
    width: 100%;
}

main {
    padding: 1em 1em 1.5em;
}

span.code {
    font-family: monospace;
    font-size: 133%;
    background: rgba(0,0,0,0.1);
}
span.red {
    color: red;
}
.italics {
    font-style: italic;
}
span.login-link {
    cursor: pointer;
    text-decoration: underline;
    color: blue;
}
.indent {
    margin-left: 1em;
}
.double_indent {
    margin-left: 2em;
}

form.newuser div.entry {
    padding: 1em;
}
form.newuser p {
    margin: 0;
    padding: 0 0 .5em;
}

div.error_box {
    display: inline-block;
    margin: 1em 1.5em;
    padding: .7em;
    font-size: 16pt;
    border: 1px solid #666;
    border-radius: .2em;
}

article {
    margin: 1em 0 2em;
}

article.home .welcome {
    font-size: 150%;
}
article.home div.join {
    margin: 1em 0;
}
article.home .profile .field,
article.userprofile .profile .field {
    margin: 0.4em 0;
}
article.home .profile label,
article.userprofile .profile label {
    min-width: 13em;
    vertical-align: top;
}
article.home .profile .field>*,
article.userprofile .profile .field>* {
    display: inline-block;
}
article.home .profile input,
article.userprofile .profile input {
    padding: .1em;
}
article.home .profile button,
article.userprofile .profile button  {
    margin-left: 0;
}
article.home button,
article.userprofile button {
    margin: 0.2em 1em;
    padding: 0.2em;
}
article.home div.institution, article.home div.group {
    padding: 0.5em 0;
    border-bottom: 1px dotted black;
}

article.register .help {
    font-size: 90%;
    margin: .2em 0;
}

article.institutions .inst, article.groups .group {
    margin-top: .5em;
}
article.institutions .inst .user, article.groups .group .user {
    margin-top: .5em;
}
article.institutions .inst .user button, article.groups .group .user button {
    margin: .5em inherit inherit .5em;
}

article.institutions .inst .username, article.institutions .inst .name, article.groups .group .username {
    margin-right: .5em;
}
article.institutions .inst .author {
    margin-right: .5em;
    font-weight: bold;
}
article.institutions .inst .inst-members {
    table-layout: fixed;
    border-collapse: collapse;
}
article.institutions .inst .inst-members thead {
    text-transform: capitalize;
    border-bottom: 1px solid black;
}
article.institutions .inst .inst-members th, article.institutions .inst .inst-members td {
    padding: .1em .3em;
}
article.institutions .inst .inst-members tr>:not(:first-child) {
    text-align: center;
    border-left: 1px solid black;
    vertical-align: bottom;
}
article.institutions .inst .inst-members tbody tr:nth-child(odd) {
    background-color: #fff;
}
article.institutions .inst .inst-members tbody tr:nth-child(even) {
    background-color: #eee;
}
article.institutions .inst .inst-members tbody td:last-child {
    min-width: 6em;
}
article.institutions .inst .inst-members tbody .delete {
    cursor: pointer;
    vertical-align: bottom;
}
article.institutions .inst .inst-members tbody td.actions {
    text-align: left;
}
article.institutions .inst h4 {
    margin: 1em 0 .3em;
}
article.institutions .newuser, article.groups .newuser {
    color: #c66;
    font-weight: bold;
    margin-right: .3em;
}
article.institutions .add, article.groups .add {
    margin-top: .5em;
}
article.institutions .add input, article.groups .add input {
    width: 8em
}
article.institutions .invite {
    margin-top: .5em;
}
article.institutions #register-invite {
    widtH: 80%;
}

span.associate-badge {
    text-transform: uppercase;
    font-size: .7em;
    border-radius: 1px;
    border: 1px solid red;
    background: yellow;
    padding: 0.1em 0.2em;
    letter-spacing: -.02em;
    font-family: sans-serif;
}
article.home .profile .associate,
article.userprofile .profile .associate {
    margin-bottom: 1.5em;
    font-size: 1.1em;
}