/* Override some theme defaults. */
article section.page h1:first-of-type {
    text-transform: none;
}
article section.page h2 {
    line-height: 2.5rem;
}
article section.page h3 {
    line-height: 2.2rem;
}

/* Table of Contents */
div.progress {
    float: right;
}
#TableOfContents ul {
    padding-right: 0px;
    color: red;
}
#TableOfContents ul li {
    list-style-type: circle;
}
#TableOfContents > ul > li {
    list-style-type: none;
}
#TableOfContents > ul > li > ul {
    list-style-type: none;
}

#TableOfContents > ul {
    border: solid 2px #666;
    padding: 12px;
}
#TableOfContents > ul > li {
    list-style-type: none;
    position: relative;
    padding-left: 12px;
}
#TableOfContents > ul > li:before {
    content: "•";
    font-size: 24px;
    position: absolute;
    left: 0;
}

/**
 *
 * Start of monitoring CSS definition.
 *
 */

/**
 * Shared and global elements.
 */
body > article > section.page > div.package-group > div.package-name {
    font-weight   : bold;
    text-align    : left;
    font-size     : 15px;
    margin-bottom : 20px;
    margin-right  : 20px;
}

body > article > section.page > div.control-container {
    height: 50px
}

body > article > section.page > div.control-container > div.type-visibility-container {
    width       : 40%;
    float       : right;
    text-align  : right;
    padding-top : 6px;
    display     : inline-block;
}

body > article > section.page > div.control-container > div.type-visibility-container > input {
    margin-left: 4px;
}

/**
 * Alarm table layout, as per GenerateMonitoring::Hugo::generate_monitoring_output.
 *
 * Since we want different row widths we need to use two separate tables, but we don't want spacing so remove
 * the bottom margin for the first table.
 */

/**
 * Set positioning for the package names so they are right indented.
 */

body > article > section.page > div.package-group > div.alarm > table {
    table-layout: : auto !important;
}
body > article > section.page > div.package-group > div.alarm > table:nth-child(1) {
    margin-bottom : 0px;
    border-top    : 2px solid #bbb;
    border-left   : 2px solid #bbb;
    border-right  : 2px solid #bbb;
}
body > article > section.page > div.package-group > div.alarm > table:nth-child(2) {
    border-bottom : 2px solid #bbb;
    border-left   : 2px solid #bbb;
    border-right  : 2px solid #bbb;
    border-top    : none;
}

/**
 * Setup styling for the alarm search box.
 */

body > article > section.page > div.control-container > div.alarm-search-container {
    width   : 60%;
    float   : left;
    display : inline-block;
}

body > article > section.page > div.control-container > div.alarm-search-container > input.alarm-search {
    border         : 1px solid #cccccc;
    color          : #555555;
    font-size      : 14px;
    line-height    : 20px;
    padding-bottom : 6px;
    padding-left   : 12px;
    padding-right  : 12px;
    padding-top    : 6px;
    margin-bottom  : 1em;
}

/**
 * No items matching search summary always starts off as hidden.
 */
body > article > section.page > h5.no-matching-alarm-search-summary {
    display     : none;
    padding-top : 1em;
}

/**
 * Colour definitions for the various different alarm states.
 */
body > article > section.page > div.package-group > div.alarm > table tr.alarm-first-row span.NOTICE {
    color: #6961ff;
}
body > article > section.page > div.package-group > div.alarm > table tr.alarm-first-row span.CLEAR {
    color: #228b22;
}

body > article > section.page > div.package-group > div.alarm > table tr.alarm-first-row span.WARNING {
    color: #ffb861;
}
body > article > section.page > div.package-group > div.alarm > table tr.alarm-first-row span.ALARM {
    color: #ff6961;
}

/**
 * Define the alarm first row three field widths.
 */
body > article > section.page > div.package-group > div.alarm > table tr.alarm-first-row td:nth-child(1) {
    width: 15%;
}
body > article > section.page > div.package-group > div.alarm > table tr.alarm-first-row td:nth-child(2) {
    width: 15%;
}
body > article > section.page > div.package-group > div.alarm > table tr.alarm-first-row td:nth-child(3) {
    width: 70%;
}

/**
 * Define the alarm second row two field widths.
 */
body > article > section.page > div.package-group > div.alarm > table tr.alarm-second-row td:nth-child(1) {
    width: 60%;
    border-top: none;
}
body > article > section.page > div.package-group > div.alarm > table tr.alarm-second-row td:nth-child(2) {
    width: 40%;
    border-top: none;
}

/**
 * Styling for the alarm parameter list.
 */
body > article > section.page > div.package-group > div.alarm > table tr.alarm-second-row td.alarm-parameters {
    vertical-align: top;
}

/**
 * Statistics table layout, as per the N2 Alarm Guide -> lib/Generator/Hugo.
 *
 * Since we want different row widths and row/col span loves to break HTML, use separate tables.
 */
body > article > section.page > div.package-group > div.statistic > table {
    table-layout: : auto !important;
    border-left   : 2px solid #bbb;
    border-right  : 2px solid #bbb;
}
body > article > section.page > div.package-group > div.statistic > table.first {
    margin-bottom : 0px;
    border-top    : 2px solid #bbb;
}
body > article > section.page > div.package-group > div.statistic > table.middle {
    margin-bottom : 0px;
    border-bottom : none;
    border-top    : none;
}
body > article > section.page > div.package-group > div.statistic > table.last {
    border-bottom : 2px solid #bbb;
    border-top    : none;
}
body > article > section.page > div.package-group > div.statistic > table tr td {
    vertical-align: top
}

/**
 * Setup styling for the statistic search box.
 */

body > article > section.page > div.control-container > div.statistic-search-container {
    width   : 60%;
    float   : left;
    display : inline-block;
}

body > article > section.page > div.control-container > div.statistic-search-container > input.statistic-search {
    border         : 1px solid #cccccc;
    color          : #555555;
    font-size      : 14px;
    line-height    : 20px;
    padding-bottom : 6px;
    padding-left   : 12px;
    padding-right  : 12px;
    padding-top    : 6px;
    margin-bottom  : 1em;
}

/**
 * No items matching search summary always starts off as hidden.
 */
body > article > section.page > h5.no-matching-statistic-search-summary {
    display     : none;
    padding-top : 1em;
}

/**
 * Define the statistic rows field widths and alignment.
 */
body > article > section.page > div.package-group > div.statistic > table tr.statistic-first-row td:nth-child(1) {
    width: 30%;
}
body > article > section.page > div.package-group > div.statistic > table tr.statistic-first-row td:nth-child(2) {
    width: 8%;
}
body > article > section.page > div.package-group > div.statistic > table tr.statistic-first-row td:nth-child(3) {
    width: 12%;
}
body > article > section.page > div.package-group > div.statistic > table tr.statistic-first-row td:nth-child(4) {
    width: 8%;
}
body > article > section.page > div.package-group > div.statistic > table tr.statistic-first-row td:nth-child(5) {
    width: 12%;
}
body > article > section.page > div.package-group > div.statistic > table tr.statistic-first-row td:nth-child(6) {
    width: 8%;
}
body > article > section.page > div.package-group > div.statistic > table tr.statistic-first-row td:nth-child(7) {
    width: 22%;
}

body > article > section.page > div.package-group > div.statistic > table tr.statistic-second-row td:nth-child(1) {
    width: 15%;
}

body > article > section.page > div.package-group > div.statistic > table tr.statistic-trailing-row td:nth-child(1) {
    width: 15%;
}
body > article > section.page > div.package-group > div.statistic > table tr.statistic-trailing-row td:nth-child(2) {
    width: 15%;
}
body > article > section.page > div.package-group > div.statistic > table tr.statistic-trailing-row td:nth-child(3) {
    width: 20%;
}
body > article > section.page > div.package-group > div.statistic > table tr.statistic-tag-row td:nth-child(4) {
    width: 50%;
}

/**
 * Work around a strange statistics padding issue from the base theme style.
 */
body > article > section.page > div.package-group > div.statistic > table.last tr td code {
    padding: 0 0.25rem;
}

/**
 *
 * End of monitoring CSS definition.
 *
 */

/* New "div.abcd" A/B/C/Description */
body > article > section.page > div.abcd > table {
    table-layout: auto !important;
}
body > article > section.page > div.abcd > table tr td:nth-child(1),
body > article > section.page > div.abcd > table tr th:nth-child(1) {
    width: 20%;
}
body > article > section.page > div.abcd > table tr td:nth-child(2),
body > article > section.page > div.abcd > table tr th:nth-child(2) {
    width: 20%;
}
body > article > section.page > div.abcd > table tr th:nth-child(3) {
body > article > section.page > div.abcd > table tr td:nth-child(3),
    width: 20%;
}
body > article > section.page > div.abcd > table tr td:nth-child(4),
body > article > section.page > div.abcd > table tr th:nth-child(4) {
    width: 40%;
}

/* New "div.ftrdd" Field/Type/Required/Default/Description */
body > article > section.page > div.ftrdd > table {
    table-layout: auto !important;
}

body > article > section.page > div.ftrdd > table tr td:nth-child(1),
body > article > section.page > div.ftrdd > table tr th:nth-child(1) {
    width: 15%;
}
body > article > section.page > div.ftrdd > table tr td:nth-child(2),
body > article > section.page > div.ftrdd > table tr th:nth-child(2) {
    width: 15%;
}
body > article > section.page > div.ftrdd > table tr td:nth-child(3),
body > article > section.page > div.ftrdd > table tr th:nth-child(3) {
    width: 15%;
}
body > article > section.page > div.ftrdd > table tr td:nth-child(4),
body > article > section.page > div.ftrdd > table tr th:nth-child(4) {
    width: 15%;
}
body > article > section.page > div.ftrdd > table tr td:nth-child(5),
body > article > section.page > div.ftrdd > table tr th:nth-child(5) {
    width: 40%;
}

/* New "div.ftprdd" Field/Type/Protocol-Equivalent/Required/Default/Description */
body > article > section.page > div.ftprdd > table {
    table-layout: auto !important;
}
body > article > section.page > div.ftprdd > table tr td:nth-child(1),
body > article > section.page > div.ftprdd > table tr th:nth-child(1) {
    width: 10%;
}
body > article > section.page > div.ftprdd > table tr td:nth-child(2),
body > article > section.page > div.ftprdd > table tr th:nth-child(2) {
    width: 10%;
}
body > article > section.page > div.ftprdd > table tr th:nth-child(3) {
body > article > section.page > div.ftprdd > table tr td:nth-child(3),
    width: 15%;
}
body > article > section.page > div.ftprdd > table tr td:nth-child(4),
body > article > section.page > div.ftprdd > table tr th:nth-child(4) {
    width: 15%;
}
body > article > section.page > div.ftprdd > table tr td:nth-child(5),
body > article > section.page > div.ftprdd > table tr th:nth-child(5) {
    width: 15%;
}
body > article > section.page > div.ftprdd > table tr td:nth-child(6),
body > article > section.page > div.ftprdd > table tr th:nth-child(6) {
    width: 35%;
}

/* New "div.iwf_edr" IWF EDR desccriptions against protocols */
article section.page table.iwf_edr {
    table-layout: auto !important;
}
body > article > section.page > div.iwf_edr > table tr td:nth-child(1),
body > article > section.page > div.iwf_edr > table tr th:nth-child(1) {
    width: 15%;
}
body > article > section.page > div.iwf_edr > table tr td:nth-child(2),
body > article > section.page > div.iwf_edr > table tr th:nth-child(2) {
    width: 10%;
}
body > article > section.page > div.iwf_edr > table tr td:nth-child(3),
body > article > section.page > div.iwf_edr > table tr th:nth-child(3) {
    width: 10%;
}
body > article > section.page > div.iwf_edr > table tr td:nth-child(4),
body > article > section.page > div.iwf_edr > table tr th:nth-child(4) {
    width: 10%;
}
body > article > section.page > div.iwf_edr > table tr td:nth-child(5),
body > article > section.page > div.iwf_edr > table tr th:nth-child(5) {
    width: 15%;
}
body > article > section.page > div.iwf_edr > table tr td:nth-child(6),
body > article > section.page > div.iwf_edr > table tr th:nth-child(6) {
    width: 40%;
}

/* New "div.iwf_edr2" IWF EDR desccriptions without protocols */
article section.page table.iwf_edr {
    table-layout: auto !important;
}
body > article > section.page > div.iwf_edr2 > table tr td:nth-child(1),
body > article > section.page > div.iwf_edr2 > table tr th:nth-child(1) {
    width: 15%;
}
body > article > section.page > div.iwf_edr2 > table tr td:nth-child(2),
body > article > section.page > div.iwf_edr2 > table tr th:nth-child(2) {
    width: 15%;
}
body > article > section.page > div.iwf_edr2 > table tr td:nth-child(3),
body > article > section.page > div.iwf_edr2 > table tr th:nth-child(3) {
    width: 15%;
}
body > article > section.page > div.iwf_edr2 > table tr td:nth-child(4),
body > article > section.page > div.iwf_edr2 > table tr th:nth-child(4) {
    width: 15%;
}
body > article > section.page > div.iwf_edr2 > table tr td:nth-child(5),
body > article > section.page > div.iwf_edr2 > table tr th:nth-child(5) {
    width: 40%;
}

/* New "div.edr" Field/Type/Presence/Description */
body > article > section.page > div.edr > table {
    table-layout: auto !important;
}
body > article > section.page > div.edr > table tr td:nth-child(1),
body > article > section.page > div.edr > table tr th:nth-child(1) {
    width: 20%;
}
body > article > section.page > div.edr > table tr td:nth-child(2),
body > article > section.page > div.edr > table tr th:nth-child(2) {
    width: 15%;
}
body > article > section.page > div.edr > table tr td:nth-child(3),
body > article > section.page > div.edr > table tr th:nth-child(3) {
    width: 15%;
}
body > article > section.page > div.edr > table tr td:nth-child(4),
body > article > section.page > div.edr > table tr th:nth-child(4) {
    width: 50%;
}

/* New "div.fd" Field/Description */
body > article > section.page > div.fd > table {
    table-layout: auto !important;
}
body > article > section.page > div.fd > table tr td:nth-child(1),
body > article > section.page > div.fd > table tr th:nth-child(1) {
    width: 20%;
}
body > article > section.page > div.fd > table tr td:nth-child(2),
body > article > section.page > div.fd > table tr th:nth-child(2) {
    width: 80%;
}

/* New "div.ftd" Field/Type/Description */
article section.page table.ftd {
    table-layout: auto !important;
}
body > article > section.page > div.ftd > table tr td:nth-child(1),
body > article > section.page > div.ftd > table tr th:nth-child(1) {
    width: 25%;
}
body > article > section.page > div.ftd > table tr td:nth-child(2),
body > article > section.page > div.ftd > table tr th:nth-child(2) {
    width: 20%;
}
body > article > section.page > div.ftd > table tr td:nth-child(3),
body > article > section.page > div.ftd > table tr th:nth-child(3) {
    width: 55%;
}

/* Compress down the table lists a bit */
ul.tablelist {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

/* Make tables flexible by default */
body > article > section.page > table {
    table-layout: auto;
}

/* New "table.ftd" Field/Type/Description */
article section.page table.ftd {
    table-layout: fixed;
}
article section.page table.ftd tr td:nth-child(1),
article section.page table.ftd tr th:nth-child(1) {
    width: 25%;
}
article section.page table.ftd tr td:nth-child(2),
article section.page table.ftd tr th:nth-child(2) {
    width: 20%;
}
article section.page table.ftd tr td:nth-child(3),
article section.page table.ftd tr th:nth-child(3) {
    width: 55%;
}
article section.page table.ftd tr td.subparam:first-child {
    border-left: 5px solid #f6f6f6;
}
article section.page table.ftd tr td.subsubparam:first-child {
    border-left: 9px solid #ededed;
}
article section.page table.ftd tr td.subsubsubparam:first-child {
    border-left: 13px solid #e6e6e6;
}
article section.page table.ftd tr td.subsubsubsubparam:first-child {
    border-left: 17px solid #dfdfdf;
}
article section.page table.ftd tr td.subsubsubsubsubparam:first-child {
    border-left: 21px solid #d6d6d6;
}
article section.page table.ftd tr td.subsubsubsubsubsubparam:first-child {
    border-left: 25px solid #cfcfcf;
}
article section.page table.ftd tr td.subsubsubsubsubsubsubparam:first-child {
    border-left: 29px solid #c6c6c6;
}

/* New "table.ftxd" Field/Type/XML Type/Description */
article section.page table.ftxd {
    table-layout: fixed;
}
article section.page table.ftxd tr td:nth-child(1),
article section.page table.ftxd tr th:nth-child(1) {
    width: 25%;
}
article section.page table.ftxd tr td:nth-child(2),
article section.page table.ftxd tr th:nth-child(2) {
    width: 15%;
}
article section.page table.ftxd tr td:nth-child(3),
article section.page table.ftxd tr th:nth-child(3) {
    width: 10%;
}
article section.page table.ftxd tr td:nth-child(4),
article section.page table.ftxd tr th:nth-child(4) {
    width: 50%;
}
article section.page table.ftxd tr td.subparam:first-child {
    border-left: 5px solid #f6f6f6;
}
article section.page table.ftxd tr td.subsubparam:first-child {
    border-left: 9px solid #ededed;
}
article section.page table.ftxd tr td.subsubsubparam:first-child {
    border-left: 13px solid #e6e6e6;
}
article section.page table.ftxd tr td.subsubsubsubparam:first-child {
    border-left: 17px solid #dfdfdf;
}
article section.page table.ftxd tr td.subsubsubsubsubparam:first-child {
    border-left: 21px solid #d6d6d6;
}
article section.page table.ftxd tr td.subsubsubsubsubsubparam:first-child {
    border-left: 25px solid #cfcfcf;
}
article section.page table.ftxd tr td.subsubsubsubsubsubsubparam:first-child {
    border-left: 29px solid #c6c6c6;
}


article section.page table td.subparam {
    padding-left: 10px;
}
article section.page table td.subsubparam {
    padding-left: 20px;
}
article section.page table td.subsubsubparam {
    padding-left: 30px;
}
article section.page table td.subsubsubsubparam {
    padding-left: 40px;
}
article section.page table td.subsubsubsubsubparam {
    padding-left: 50px;
}
article section.page table td.subsubsubsubsubparam {
    padding-left: 60px;
}
article section.page table td.subsubsubsubsubsubparam {
    padding-left: 70px;
}
article section.page table td.subsubsubsubsubsubsubparam {
    padding-left: 80px;
}


article section.page code {
    color: #666;
}


/*
    Warning bar implementation. Used when documentation uses versioning and the version doesn't
    match the current latest version.
*/
.warning-bar {
    background-color : rgba(255, 0, 0, .3);
    border           : 1px solid rgba(255, 0, 0, .4);
    padding          : 10px;
    border-radius    : 3px;
}

/* Sane flex box properties. */
.flex {
    display: flex;
}

.flex-row {
    flex-direction: row;
}

.flex-column {
    flex-direction: column;
}

.w-8 {
    width    : 8em;
    min-width: 8em;
}

.m-0 {
    margin: 0px;
}
