table.visual-terminology,
table.dfd-dictionary {
    padding: 1em;
    border: 1px solid black;
}

table.visual-terminology th,
table.visual-terminology td,
table.dfd-dictionary th,
table.dfd-dictionary td {
    border-bottom: 1px solid black;
    border-collapse: collapse;
    padding: 0.5em;
}

table.visual-terminology tr {
    border-collapse: collapse;
}

table.visual-terminology th {
    width: 11em;
    font-weight: bold;
}

table.visual-terminology td.term-def {
}

table.visual-terminology td.term-img {
    width: 11em;
}

table.dfd-dictionary {
}

table.dfd-dictionary td.dfd-id {
    width: 3em;
    font-weight: bold;
}
table.dfd-dictionary td.dfd-name {
    width: 10em;
}
table.dfd-dictionary td.dfd-type {
    width: 6em;
}

#threat-toc {
    counter-reset: threat;
}

ol.threat-toc {
    list-style: none;
}

ol.threat-toc li::before {
    content: "T" attr(value) ". ";
    font-weight: bold;
}

ol.threat-toc li.section-title::before {
    font-weight: bold;
    counter-increment: none;
    content: "";
}

ol.threat-toc li.section-title {
    font-weight: bold;
    font-style: italic;
}

table.threat td.threat-name span.index-link {
    position: absolute;
    right: 10px;
    height: 1em;
    font-size: small;
    margin-top: -0.7em;
    top: 50%;
}
ol.threat-toc h5 {
    margin: 0;
}

table.threat {
    border: thin solid black;
    border-collapse: collapse;
    margin: 1em 0 1em 0;
    width: 100%;
    padding-left: 30px;
}
table.threat a.self-link {
    left: -35px !important;
}
table.threat h3,
table.threat h4,
table.threat h5 {
    color: black;
    margin: 0 0 0 -5px;
    font-weight: bold;
    font-style: normal;
}
table.threat td {
    padding: 1em;
    position: relative;
    border-bottom: thin solid black;
}

table.threat td.threat-name {
    font-weight: bold;
    background-color: #c9daf7;
}

table.threat td.response-name {
    font-weight: bold;
    background-color: #d9ead4;
}

table.threat td.affected-component {
    background-color: #fff2ce;
}
table.threat span.component-entry {
    font-weight: bold;
}
table.threat td.analysis-taxonomy {
    background-color: #fce5ce;
}

p.threatCategory {
    font-size: larger;
    font-weight: bolder;
    margin: 0;
}

section.threatDetail {
    visibility: hidden;
    height: 1px;
}

span.threat-tag {
    border-radius: 4px;
    padding: 2px 5px;
    color: white;
    margin: 0px 2px;
    font-weight: 100;
    background-color: black;
}

span.threat-tag.threat-tag-security {
    background-color: red;
}

span.threat-tag.threat-tag-privacy {
    background-color: blue;
}
