* { padding:0px; margin:0px; }
article { display:none; }
html { scroll-behavior:smooth; }
body { padding-top:40px; padding-bottom:50px; font-family: 'Titillium Web', sans-serif; }
body { background-image:radial-gradient(4px at center,black 20%, transparent 20%), radial-gradient(4px at center,black 20%, transparent 20%); background-position: 0px 0px, 4px 3px; background-size: 8px 6px; background-color: rgb(255, 255, 255); }

h1 { font-size:30pt; line-height: 1.2em; margin-bottom:20px; font-weight:600; }
h1 .fa { font-size:26pt; margin-right:5px;}
h2 { font-size:16pt; line-height: 1.2em; margin:20px 0px 10px 0px; font-weight:700; }
h3 { font-size:16pt; line-height: 1.2em; margin:20px 0px 0px 0px; font-weight:700; }
p { margin-bottom:15px; }
li { margin:0px 0px 10px 25px; }
li p { margin:0px 0px 10px 0px; }
.narrow li { margin-bottom:0px; }
.narrow ul { margin-bottom:15px; }
p, li { line-height:30px; font-size:14pt; font-weight:400;}
ul { padding-left:20px; }
a { color:black; font-weight:600; text-decoration:underline; }
a:hover, a:active { text-decoration:underline; }
strong { font-weight:600;}
pre { font-family:Inconsolata, 'Courier New', Courier, monospace; font-size:14pt; line-height:18pt; margin:10px 0px 10px 25px;}
code { font-family:Inconsolata, 'Courier New', Courier, monospace; font-size:14pt;  }

.tlink { outline:3px solid black; padding:0px 8px 0px 8px; text-decoration:none; border-radius:2px; font-weight:600; font-size:12pt;margin-right:10px; -webkit-box-decoration-break: clone;  box-decoration-break: clone; }
.tlink:hover, .tlink:active { text-decoration:none; }
.tlink .fa { font-size:10pt; margin:0px 7px -2px 0px; position:relative; top:-1px; }
h1 .tlink { vertical-align:top; margin:2px 0px 0px 10px;}

a.citation { background:#b0b0b0; color:white; padding:0px 5px 0px 5px; font-size:12pt; margin:0px 2px 0px 2px; text-decoration:none; border-radius:6px; font-style:normal; }

div.display .display-wrapper { background:white; border:3px solid black; }
div.display .display-title { font-weight:600; font-size:12pt; color:white; background:black; text-align:left; padding:1px 0px 1px 5px; }
div.display .display-body { padding:20px 20px 30px 30px; }
div.display .frameset.display-wrapper { background:none; border-style:none; }
div.display .frameset .display-body { padding:0px; }
div.display .frameset .display-title { display:none; }

.display.visible { display:block; }
.display.hidden { display:none; }

#image { width:80vw; position:absolute; left:10vw; top:20px;  }
#image .display-body { text-align:center;}
#image img { border:4px solid black; max-width:100%;}
#image blockquote { display:inline-block; }
#image .noborder img { border-style:none; max-width:100%;}
#top { width:50vw; margin:0px 0px 20px 5vw; }
#left { width:35vw; margin:0px 0px 0px 5vw; }
#right { position:absolute; width:45vw; left:37vw; margin:0px 0px 0px 5vw; padding-bottom:50px; }
#big { width:90vw; margin:20px 10vw 0px 5vw; }
#footer { width:35vw; margin:20px 10vw 0px 5vw; }

.welcome blockquote p { margin:-10px 0px 30px 0px; }
.welcome img { border:3px solid black; float:right; max-width:300px; margin:0px 20px 20px 20px;}
.nobullet li { list-style-type:none; margin-left:0px; }
.systems img { border:3px solid black; float:right; max-width:300px; margin:0px 20px 20px 20px;}
.catalogue img { border:3px solid black; float:right; max-width:400px; margin:20px 20px 20px 20px;}
.doc img { border:3px solid black; float:right; max-width:400px; margin:0px 20px 20px 20px;}

.doc blockquote { text-align:right; font-style:italic; padding:0px 0px 10px 10%; }
.doc blockquote p { margin-bottom:10px;}

.dark table { table-layout: fixed; border-collapse: collapse; margin:0px 30px 0px 30px; }
.dark table td { padding:0px 10px 0px 5px; line-height:26px; font-size:13pt; font-weight:400; border:2px solid black; }
.dark .cluster { background:black; color:white; }
.dark .cluster td { font-size:12pt; font-weight:600; padding:0px 0px 0px 5px; line-height:16pt; }
.dark a { text-decoration:none; }

.appendix table { width:1px; table-layout: fixed; border-collapse: collapse; margin:0px 30px 0px 30px; }
.appendix table td, .appendix table th { text-align:center; width:40px; padding:0px 10px 0px 5px; line-height:26px; font-size:13pt; font-weight:400; border:2px solid black; }
.appendix table th { height:120px;transform:translate(0px, 30px) rotate(-90deg); font-size:12pt; font-weight:600; padding:0px 0px 0px 5px; line-height:16pt; }
.appendix table .tot td { font-weight:700;}
.appendix table td .fa { margin-top:3px; }

.progsys em strong { font-style:normal; }
.progsys em i { margin-right:10px; font-size:18pt; }
.progsys li { margin-left:40px; text-indent:-20px; list-style-type: none;}
.progsys ul { margin:0px; padding:0px; }

.sysdet li { margin:0px 0px 5px 0px; list-style-type:none;}

.matrix .table-wrapper { overflow-x:scroll; border:3px solid black; margin-bottom:20px;}
.matrix table { table-layout: fixed; border-collapse: collapse; }
.matrix th, td { border-top:1px solid black; border-left:1px solid black; padding:0px; margin:0px; text-align:left; vertical-align:top; }
.matrix th { border:3px solid black; padding:1px 5px 1px 5px; white-space:nowrap; }
.matrix th:first-child { border-left-style:none; }
.matrix th:last-child { border-right-style:none; }
.matrix tr:first-child th { border-top-style:none; }
.matrix tr:last-child th { border-bottom-style:none; }
.matrix td { min-width:200px; }
.matrix table div.transclusion { border-style:none; }
.matrix table div.transclusion .title { font-size:8pt; padding:0px; }
.matrix table div.transclusion .fa-arrow-right { display:none; }
.matrix table div.transclusion .body { padding:2px; }
.matrix table div.transclusion .body p { font-size:12pt; margin-bottom:0px; }
.matrix .title a div { padding:4px 10px 3px 6px; text-align:right; }
.matrix .shade1 { background:#171957; }
.matrix .shade2 { background:#303281; }
.matrix .shade3 { background:#494CAD; }
.matrix .shade4 { background:#7A7CBC; }
.matrix tr:nth-child(5n+1) .shade1 { background:#415717; }
.matrix tr:nth-child(5n+1) .shade2 { background:#6A8030; }
.matrix tr:nth-child(5n+1) .shade3 { background:#93AD49; }
.matrix tr:nth-child(5n+1) .shade4 { background:#ACB97A; }
.matrix tr:nth-child(5n+2) .shade1 { background:#6A4B0F; }
.matrix tr:nth-child(5n+2) .shade2 { background:#9B7C17; }
.matrix tr:nth-child(5n+2) .shade3 { background:#C59830; }
.matrix tr:nth-child(5n+2) .shade4 { background:#C5A972; }
.matrix tr:nth-child(5n+3) .shade1 { background:#621A17; }
.matrix tr:nth-child(5n+3) .shade2 { background:#8B2728; }
.matrix tr:nth-child(5n+3) .shade3 { background:#B43F49; }
.matrix tr:nth-child(5n+3) .shade4 { background:#C5747A; }
.matrix tr:nth-child(5n+4) .shade1 { background:#591F51; }
.matrix tr:nth-child(5n+4) .shade2 { background:#832F72; }
.matrix tr:nth-child(5n+4) .shade3 { background:#AC4B9B; }
.matrix tr:nth-child(5n+4) .shade4 { background:#BC7CB4; }
.matrix .checksgroup { display:flex; }
.matrix .checks { padding:0px 20px 0px 20px; }
.matrix .checks button { padding:2px 8px 2px 8px; text-align:center; margin-right:10px; border-radius:4px; border:3px solid black; background:white; width:100px; }
.matrix input { margin:0px 5px 0px 0px; }
.matrix label { font-size:14pt; display: block; margin-left:10px;}
.matrix .matrix-footer p { max-width: 700px; margin-bottom:30px; }
.matrix .transclusion .title { text-align:right; }
.matrix .transclusion .title i { color:white; margin:4px 10px 4px 0px; font-size:9pt; }
.matrix td p { line-height:18pt; padding-bottom:5px; }
.matrix .details { display:none; }
.matrix a { text-decoration:none; }
@media only screen and (max-width:700px) {
  .matrix tr:nth-child(n+2) th a { display:inline-block; transform:translate(0px, 150px) rotate(-90deg); text-align:left; width:30px;}
}

.dimlist .title { display:none; }
.dimlist p { margin-bottom:10px; }
.dimlist li { list-style-type:none; margin:0px 0px 3px 0px; }
.dimlist li .fa { width:30px; }

.bibliography li { margin-left:35px; text-indent:-35px; list-style-type:none;}
.bibliography li .citation { background:black; color:white; padding:0px 5px 0px 5px; font-size:12pt; margin:0px 2px 0px 2px; text-decoration:none; border-radius:6px; }

.bibliography li a { text-decoration:none; font-weight:400; }
.bibliography li a[href^="h"]  { text-decoration:underline; }

.frameset div.transclusion { border:3px solid black; margin-bottom:20px; }
.frameset div.transclusion .title { font-size:12pt; background:black; font-weight:600; padding:1px 2px 3px 5px; color:white; }
.frameset div.transclusion .body { padding:20px 20px 30px 30px; background:white; }

.frameset div.transclusion div.transclusion { border-style:none; margin-bottom:0px; }
.frameset div.transclusion div.transclusion .title { display:none; }
.frameset div.transclusion div.transclusion .body { padding:0px;  }


@media only screen and (max-width:1400px) {
  #right { width:55vw; }
}
@media only screen and (max-width:1200px) {
  #top { width:90vw; }
  #footer, #left { width:60vw; }
  .hide-sm, .display.visible.hide-sm { display:none; }
  #right { position:initial; width:60vw; padding-bottom:0px; }
}
@media only screen and (max-width:1000px) {
  #footer, #left, #right { width:90vw; }
}
@media only screen and (max-width:560px) { .welcome img { max-width:85%; float:none; } }
@media only screen and (max-width:700px) { .catalogue img { max-width:85%; float:none; } }
@media only screen and (max-width:560px) { .systems img { max-width:85%; float:none; } }
@media only screen and (max-width:700px) { .doc img { max-width:85%; float:none; } }

@media only screen and (max-width:500px) {
  li { font-size:13pt; }
  p { line-height:28px; font-size:13pt; }
  .tlink { font-size:11pt; }
  h1 { font-size:28pt; }
  h2 { font-size:15pt; }
  h3 { font-size:15pt; }
  .frameset div.transclusion .body { padding:15px 15px 20px 20px; }
  div.display .display-body { padding:15px 15px 20px 20px; }
}
