/* Icons are from Open Iconic <https://useiconic.com/open/>.
   Licensed under the MIT License. */
:root {
    --icon-filter: invert(0);
    --icon-highlight: var(--secondary-color);
    --elapsed-color: #666;
}

/* @media (prefers-color-scheme: dark) { */

[data-theme="dark"] {
    --icon-filter: invert(1);
    --icon-highlight: #a39990;
    --elapsed-color: #999;
}

/* Containers */
.suite, .test, #errors {
    border-color: #ccc; /* Fallback value */
    border-color: var(--secondary-color);
    border-width: 1px;
    border-style: solid;
    padding: 0.3em 0.2em;
    margin: 0.2em 0;
}
.test {
    border-style: dashed;
}
#errors, .messages {
    width: 100%;
    border-spacing: 0;
}
.children {
    display: none;
    margin-left: 1.4em;
}
.suite, .test, .keyword {
    margin-left: -0.2em;
}
#s1, .suite > .children > .keyword {
    margin-left: 0;
}
/* Suite, test and kw headers */
.element-header {
    border: 1px solid transparent;
    border-radius: 2px;
    position: relative;
}
.element-header:hover {
    cursor: pointer;
    background-color: #eee; /* Fallback value */
    background-color: var(--highlight-color);
    border-color: #ccc; /* Fallback value */
    border-color: var(--secondary-color);
}
.element-header-toggle {
    position: absolute;
    left: 3px;
    top: 5px;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAQAAABKxSfDAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfeCR0JChSkZz20AAAAGklEQVQI12NgQAKMDKzInP8IDhOqMk4G7AAANQwBE427PYUAAAAASUVORK5CYII=);
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0wIDB2Mmg4di0yaC04eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAzKSIgLz4KPC9zdmc+), none;
    filter: var(--icon-filter);
    height: 10px;
    width: 10px;
    background-size: 6px 6px;
    border-color: #ccc; /* Fallback value */
    border-color: var(--icon-highlight);
    border-width: 1px;
    border-style: solid;
    border-radius: 2px;
}
.closed > .element-header-toggle {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAQAAABKxSfDAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfeCR0JCDHdVYtxAAAAM0lEQVQI103MMQqAMBQFwVHyITaB3P+W1sKzSBC3mW6hRFw0pUB5DvF1bu9FN0RM3X/wAk98CUnvFTakAAAAAElFTkSuQmCC);
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0zIDB2M2gtM3YyaDN2M2gydi0zaDN2LTJoLTN2LTNoLTJ6IiAvPgo8L3N2Zz4=), none;
}
.element-header:hover > .element-header-toggle {
    background-color: #ccc; /* Fallback value */
    background-color: var(--icon-highlight);
}
.element-header-right:hover ~ .element-header-toggle {
    background-color: transparent;
}
.element-header-left {
    padding: 3px 80px 3px 20px;
}
.element-header-right {
    position: absolute;
    right: 0;
    top: 0;
    padding: 3px;
    cursor: default;
}
.element-header .label {
    margin-right: 0.5em;
}
.name {
    font-weight: bold;
    white-space: pre-wrap;
}
.arg, .assign {
    white-space: pre-wrap;
}
.elapsed {
    float: right;
    color: #666; /* Fallback value */
    color: var(--elapsed-color);
    padding-left: 1em;
}
.link {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAHlJREFUGJVtzrEJwmAQBtCn6ASuIKTIBhY2gmghBiJYB1udwk10B8FJbKMBcQFbtbkfJHrVwfu+4/idJR64Y9H7E3higj5O3S8Y44ApLnjhnXCNGhV2yNGggDJwiC02gavUbpDFvscRo4QdXOMKDHBufz3HLYKzNn4AbSkV3fncGQYAAAAASUVORK5CYII=);
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik01Ljg4LjAzYy0uMTguMDEtLjM2LjAzLS41My4wOS0uMjcuMS0uNTMuMjUtLjc1LjQ3YS41LjUgMCAxIDAgLjY5LjY5Yy4xMS0uMTEuMjQtLjE3LjM4LS4yMi4zNS0uMTIuNzgtLjA3IDEuMDYuMjIuMzkuMzkuMzkgMS4wNCAwIDEuNDRsLTEuNSAxLjVjLS40NC40NC0uOC40OC0xLjA2LjQ3LS4yNi0uMDEtLjQxLS4xMy0uNDEtLjEzYS41LjUgMCAxIDAtLjUuODhzLjM0LjIyLjg0LjI1Yy41LjAzIDEuMi0uMTYgMS44MS0uNzhsMS41LTEuNWMuNzgtLjc4Ljc4LTIuMDQgMC0yLjgxLS4yOC0uMjgtLjYxLS40NS0uOTctLjUzLS4xOC0uMDQtLjM4LS4wNC0uNTYtLjAzem0tMiAyLjMxYy0uNS0uMDItMS4xOS4xNS0xLjc4Ljc1bC0xLjUgMS41Yy0uNzguNzgtLjc4IDIuMDQgMCAyLjgxLjU2LjU2IDEuMzYuNzIgMi4wNi40Ny4yNy0uMS41My0uMjUuNzUtLjQ3YS41LjUgMCAxIDAtLjY5LS42OWMtLjExLjExLS4yNC4xNy0uMzguMjItLjM1LjEyLS43OC4wNy0xLjA2LS4yMi0uMzktLjM5LS4zOS0xLjA0IDAtMS40NGwxLjUtMS41Yy40LS40Ljc1LS40NSAxLjAzLS40NC4yOC4wMS40Ny4wOS40Ny4wOWEuNS41IDAgMSAwIC40NC0uODhzLS4zNC0uMi0uODQtLjIyeiIKICAvPgo8L3N2Zz4=), none;
    filter: var(--icon-filter);
}
.expand {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAADtJREFUGJVjYCACKDAwMByA0ljFDjAwMPxnYGB4ABVQgLL/Q+VQBB6gseGmIivCkERXhFUSWRFOSawAAEl7E3uv1iMcAAAAAElFTkSuQmCC);
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0xLjUgMGwtMS41IDEuNSA0IDQgNC00LTEuNS0xLjUtMi41IDIuNS0yLjUtMi41eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxKSIgLz4KPC9zdmc+), none;
    filter: var(--icon-filter);
}
.collapse {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAC5JREFUGJVjYCARNEAxTsn/UIyhCFkSQxG6ThQ+C5IpjWhG1yNb4YDFTdjEMAEACi8Q++9Y9TAAAAAASUVORK5CYII=);
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik00IDBsLTQgNCAxLjUgMS41IDIuNS0yLjUgMi41IDIuNSAxLjUtMS41LTQtNHoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMSkiIC8+Cjwvc3ZnPg==), none;
    filter: var(--icon-filter);
}
.expand, .collapse, .link {
    float: left;
    display: block;
    visibility: hidden;
    margin: 0 4px;
    height: 14px;
    width: 14px;
    background-size: 8px 8px;
    background-repeat: no-repeat;
    background-position: center;
    border-color: #ccc; /* Fallback value */
    border-color: var(--icon-highlight);
    border-width: 1px;
    border-style: solid;
    border-radius: 2px;
}
.link {
    background-size: 10px 10px;
}
.element-header:hover a {
    visibility: visible;
}
.expand:hover, .collapse:hover, .link:hover {
    background-color: #ccc; /* Fallback value */
    background-color: var(--icon-highlight);
}
/* Messages and errors */
.messages .time, .messages .message {
    font-family: monospace;
    font-size: 1.1em;
}
#errors .message {
    font-family: monospace;
    font-size: 1.2em;
}
.message-row {
    height: 20px;
}
.time {
    width: 7.5em;
}
.error-time {
    width: 11em;
    font-size: 0.9em;
    white-space: nowrap;
}
.level {
    width: 5em;
    text-align: center;
}
.select-message {
    width: 24px;
}
.select-message > div {
    float: right;
    margin-right: 2px;
    height: 16px;
    width: 16px;
    background-size: 12px 12px;
    background-repeat: no-repeat;
    background-position: center;
}
.message-row:hover .select-message div {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAQAAAD8fJRsAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfeCR0MOzhWKZQOAAAASUlEQVQY032PsRHAIAwDX9BkicD+W8UMEqegAQJWKZ/+3sLZJhFGQEZzNaIa4ibh66En867VNaIeoP5WppNuIGoAlOm3g5VC1AdYeQv1BZPRSgAAAABJRU5ErkJggg==);
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0wIDB2MWg4di0xaC04em0wIDJ2MWg2di0xaC02em0wIDJ2MWg4di0xaC04em0wIDJ2MWg2di0xaC02eiIgLz4KPC9zdmc+), none;
    filter: var(--icon-filter);
    border-color: #ccc; /* Fallback value */
    border-color: var(--icon-highlight);
    border-width: 1px;
    border-style: solid;
    border-radius: 2px;
}
.select-message:hover div {
    background-color: #ccc; /* Fallback value */
    background-color: var(--icon-highlight);
    cursor: pointer;
}
/* Message tables - these MUST NOT be combined together because otherwise
   dynamically altering them based on visible log level is not possible. */
.trace-message {
    display: table;
}
.debug-message {
    display: table;
}
/* Metadata */
.metadata {
    width: 100%;
    border-spacing: 0.2em;
}
.metadata th {
    width: 12em;
    vertical-align: top;
    text-align: left;
}
.metadata td {
    vertical-align: top;
}
.keyword-metadata {
    font-size: 0.9em;
}
/* Custom styles for statistics */
#total-stats tr:hover, #tag-stats tr:hover {
    cursor: default;
}
