body {
    font-family: monospace;
    padding: 0px;
    margin: 0px;
}

a {
    text-decoration: none;
}

a.iconlink {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 5px;
    background-color: #ddd;
    border-radius: 3px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}

h2 {
    margin-top: 0px;
}

header {
    position: fixed;
    top: 0px;
    border-bottom: 1px solid #888;
    padding-left: 20px;
    width: 100%;
}

header p {
    font-weight: bold;
}

footer {
    position: fixed;
    bottom: 0px;
    border-top: 1px solid #888;
    padding-left: 40px;
    width: 100%;
}

main {
    position: fixed;
    width: calc(100% - 2rem);
    top: 60px;
    padding-left: 20px;
    max-height: calc(100% - 120px);
    overflow: auto;
}

aside {
    position: fixed;
    top: 60px;
    width: 15rem;
}

aside a.menuitem div {
    background-color: #eee;
    margin-bottom: 2px;
    padding: 5px;
}

aside a.menuitem div:hover {
    background-color: #ddd;
}

aside a.menuitem.level2 div {
    margin-left: 20px;
}


aside a.menuitem {
    text-decoration: none;
    color: #000;
}


aside div.menuseparator {
    min-height: 10px;
}


div#content-primary {
    margin-left: 16rem;
    height: calc(100% - 120px);
    max-height: calc(100% - 120px);
    overflow: auto;
}

.clickable {
    cursor: pointer;
}

button {
    border: 1px solid #ddd;
    border-radius: 0px;
    padding: 20px;
    padding-top: 5px;
    padding-bottom: 5px;
}

/* messages */
div.messages {

}

div.messages div.alert {
    margin-bottom: 5px;
    padding: 10px;
}

div.messages div.alert-info {
    background-color: #ddddff;
    border: 1px solid #8888aa;
}

div.messages div.alert-error {
    background-color: #ffdddd;
    border: 1px solid #aa8888;
}

div.messages div.alert-success {
    background-color: #ddffdd;
    border: 1px solid #88aa88;
}

/* form elements */

form label,
form button {
    display: block;
    margin-top: 10px;
}

form label {
    font-weight: bold;
}

form {
    margin-bottom: 40px;
}

textarea {
    width: 40rem;
    max-width: 90%;
    height: 20rem;
}

/* memberQuery */

div#searchresult code {
    display: block;
}

div#searchresult table {
    width: 100%;
}

div#searchresult table tr {
    vertical-align: top;
}

div#searchresult thead,
div#searchresult thead tr,
div#searchresult thead tr th {
    text-align: left;
    min-width: 20%;
    max-width: 20%;
    padding: 5px;
    background-color: #ddd;
}

div#searchresult tr td {
    min-width: 20%;
    max-width: 20%;
    padding: 5px;
    word-wrap: anywhere;
}

div#searchresult table tr:hover {
    background-color: #eee;
}

div#searchresult table tr.nohover:hover {
    background-color: unset;
}

/* registrationLog */

div.filterlog_container {
    float: right;
    // margin-right: 20px;
    display: flex;
    align-items: center;
}

div.filterlog_container a img {
    height: 24px;
    padding-top: 3px;
}

div.logline {
    background-color: #eeeeee;
    padding: 10px;
    margin-bottom: 10px;
}

div.logline.loghidden {
    display: none;
}

div.logline dl {
    padding: 10px;
    display: grid;
    grid-template-columns: 4rem auto;
}

div.logline dl dt {
    grid-column-start: 1;
    display: flex;
    align-items: center;
}

div.logline dl dd {
    grid-column-start: 2;
    display: flex;
    align-items: center;
}

div.logline dl dd span.contentmark {
    display: inline-block;
    width: 20rem;
    background-color: #bbbbbb;
}

div.logline dl dd a {
    text-decoration: none;
    background-color: #ddd;
}

div.neutral {
    background-color: #dddddd;
}

div.success {
    background-color: #88aa88;
}

div.failed {
    background-color: #ee8888;
}

div.rawlogline {
    display: none;
    padding: 5px;
    background-color: #ddd;
    border: 1px solid #bbb;
    margin-top: 5px;
}

div.rawlogline.active {
    display: block;
}

/* keycloakStats */

table#keycloakusertable {
}

table#keycloakusertable thead,
table#keycloakusertable thead tr,
table#keycloakusertable thead tr th {
    text-align: left;
    min-width: 20%;
    max-width: 20%;
    padding: 5px;
    background-color: #ddd;
}

table#keycloakusertable tr td {
    min-width: 20%;
    max-width: 20%;
    padding: 5px;
    word-wrap: anywhere;
}

table#keycloakusertable tr td.numcol,
table#keycloakusertable tr th.numcol {
    text-align: right;
}

table#keycloakusertable tr:hover {
    background-color: #eee;
}

table#keycloakusertable tr.nohover:hover {
    background-color: unset;
}
