*,
:after,
:before {
    box-sizing: border-box
}

:after,
:before {
    text-decoration: inherit;
    vertical-align: inherit
}

html {
    cursor: default;
    line-height: 1.5;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-tap-highlight-color: transparent;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    word-break: break-word
}

body {
    margin: 0
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

dl dl,
dl ol,
dl ul,
ol dl,
ol ol,
ol ul,
ul dl,
ul ol,
ul ul {
    margin: 0
}

hr {
    height: 0;
    overflow: visible
}

main {
    display: block
}

nav ol,
nav ul {
    list-style: none;
    padding: 0
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle
}

audio,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

iframe,
img {
    border-style: none
}

svg:not([fill]) {
    fill: currentColor
}

svg:not(:root) {
    overflow: hidden
}

table {
    border-collapse: collapse
}

button,
input,
select {
    margin: 0
}

button {
    overflow: visible;
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

fieldset {
    border: 1px solid #a0a0a0;
    padding: .35em .75em .625em
}

input {
    overflow: visible
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal
}

progress {
    display: inline-block;
    vertical-align: baseline
}

select {
    text-transform: none
}

textarea {
    margin: 0;
    overflow: auto;
    resize: vertical
}

[type=checkbox],
[type=radio] {
    padding: 0
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: .54
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

::-moz-focus-inner {
    border-style: none;
    padding: 0
}

:-moz-focusring {
    outline: 1px dotted ButtonText
}

:-moz-ui-invalid {
    box-shadow: none
}

details,
dialog {
    display: block
}

dialog {
    background-color: #fff;
    border: solid;
    color: #000;
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content
}

dialog:not([open]) {
    display: none
}

summary {
    display: list-item
}

canvas {
    display: inline-block
}

template {
    display: none
}

[tabindex],
a,
area,
button,
input,
label,
select,
summary,
textarea {
    touch-action: manipulation
}

[hidden] {
    display: none
}

[aria-busy=true] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled=true],
[disabled] {
    cursor: not-allowed
}

[aria-hidden=false][hidden] {
    display: inline;
    display: initial
}

[aria-hidden=false][hidden]:not(:focus) {
    clip: rect(0, 0, 0, 0);
    position: absolute
}

button,
input,
select,
textarea {
    background-color: transparent;
    border: 1px solid WindowFrame;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    padding: .25em .375em
}

select {
    -moz-appearance: none;
    -webkit-appearance: none;
    background: no-repeat 100%/1em;
    border-radius: 0;
    padding-right: 1em
}

select:not([multiple]):not([size]) {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E")
}

::-ms-expand {
    display: none
}

:-ms-input-placeholder {
    color: rgba(0, 0, 0, .54)
}

html {
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji
}

code,
kbd,
pre,
samp {
    font-family: Menlo, Consolas, Roboto Mono, "Ubuntu Monospace", Noto Mono, Oxygen Mono, Liberation Mono, monospace, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji
}

:root {
    --text-width: 45rem;
    --gray: #efefef
}

body {
    font-size: 1rem
}

div.wrapper {
    display: flex;
    justify-content: space-between
}

figure {
    position: relative;
    margin: 2rem 0;
    padding: .5em;
    text-align: center;
    border: 1px solid #efefef;
    border: 1px solid var(--gray)
}

figure figcaption {
    text-align: left;
    font-size: smaller
}

figure p {
    text-align: left !important
}

figure button.zoom {
    position: absolute;
    top: 0;
    right: 1em;
    font-size: larger;
    font-weight: 700;
    background-color: #666;
    color: #fff;
    border: none
}

figure span.sp-label {
    font-weight: 700
}

table p {
    text-align: left !important
}

table {
    margin: 2rem auto;
    border-bottom: 1px solid #efefef;
    border-bottom: 1px solid var(--gray);
    font-size: .9rem
}

td,
th {
    padding: 5px
}

caption,
td,
th {
    text-align: left
}

caption {
    margin: 1rem 0;
    font-size: 1rem;
    border-top: 1px solid #efefef;
    border-top: 1px solid var(--gray)
}

caption span.sp-label {
    font-weight: 700
}

thead {
    background-color: #efefef;
    background-color: var(--gray)
}

tfoot {
    font-style: italic;
    font-size: .8rem
}

button.ecf-close {
    float: right;
    margin: .5rem;
    font-size: larger;
    font-weight: 700;
    background-color: #666;
    color: #fff;
    border: none
}

aside#figures figure {
    width: 90vw
}

aside#figures figure img {
    width: 100%;
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content
}

aside#tables {
    max-width: 100%
}

aside#tables table {
    width: 100%
}

aside#footnotes ol {
    padding: 0;
    list-style-type: none
}

.tabcontent {
    margin-top: 4rem;
    max-width: 45rem;
    max-width: var(--text-width);
    margin-left: 0
}

nav.tabs {
    position: fixed;
    top: 0;
    width: 100%;
    height: 4rem;
    z-index: 10;
    border: 1px solid #ccc;
    background-color: #f1f1f1
}

nav.tabs .tablinks {
    height: 100%;
    background-color: inherit;
    float: left;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 1rem;
    transition: .3s
}

nav.tabs .tablinks:hover {
    background-color: #ddd
}

nav.tabs .tablinks.active {
    background-color: #ccc
}

nav.toc {
    position: fixed;
    top: 6rem;
    left: 48rem;
    width: 15rem;
    font-size: .9rem;
    line-height: 1.2;
    border-bottom: 3px solid #efefef;
    border-bottom: 3px solid var(--gray);
    background-color: #fff
}

nav.toc h5 {
    margin: 0;
    font-size: 1rem;
    border-bottom: 3px solid e
}

nav.toc h5.opened:after {
    content: "▼"
}

nav.toc h5.closed:after,
nav.toc h5.opened:after {
    position: absolute;
    top: .5rem;
    right: .5rem;
    font-size: .8rem
}

nav.toc h5.closed:after {
    content: "▲"
}

nav.toc li {
    margin-bottom: .5rem;
    text-indent: -.7rem
}

nav.toc li span.sp-label {
    display: inline-block;
    width: .7rem
}

nav.toc li.toc-li_h2 {
    margin-left: 2rem
}

nav.toc li.toc-li_h3 {
    margin-left: 3.3rem
}

nav.toc li.active {
    font-weight: 700;
    border-bottom: 1px solid #efefef;
    border-bottom: 1px solid var(--gray)
}

nav.toc a {
    text-decoration: none;
    color: inherit
}

article p {
    text-align: justify
}

article div.ftn-container,
article header {
    display: none
}

article div.ftn {
    background-color: #fefefe;
    margin: 15% auto;
    padding: .5rem;
    border: 1px solid #efefef;
    border: 1px solid var(--gray);
    width: 50vw;
    font-size: smaller
}

article .sp-ftn-label {
    font-weight: 700
}

article img {
    max-width: 35rem;
    max-width: calc(var(--text-width) - 10rem)
}

.sp-ftn-num {
    padding-right: .5em;
    vertical-align: top
}

.sp-ftn-num,
.sp-xref-ftn {
    font-size: .8rem;
    color: #049be5
}

.sp-xref-ftn {
    cursor: pointer;
    border: none;
    padding: 2px;
    vertical-align: text-top;
    text-decoration: none
}

blockquote,
p.sp-blockquote {
    padding-left: 1rem;
    border-left: 6px solid #efefef
}

blockquote p {
    margin: 0;
}

h1,
h2 {
    line-height: 1.3
}

h2 {
    margin-top: 4rem
}

h2 span.sp-label:after {
    content: "- "
}

section.bibliography h2 span.sp-label:after {
    content: ""
}

h3 {
    margin-top: 3rem;
    line-height: 1.3
}

h3 span.sp-label:after {
    content: "- "
}

p.sp-author {
    margin-top: 4rem;
    margin-bottom: 0
}

p.sp-keywords {
    font-style: italic
}

p.sp-author_affiliation {
    margin-top: 0;
    margin-bottom: 4rem;
    font-style: italic
}

p.sp-code {
    white-space: pre;
    font-family: monospace
}

a {
    color: inherit
}

p.sp-hangindent {
    margin-left: 1.5em
}

p.sp-hangindent span.sp-label {
    display: inline-block;
    width: 1.5em;
    margin-left: -1.5em
}

p.sp-hangindent_2x {
    margin-left: 3em
}

p.sp-hangindent_2x span.sp-label {
    display: inline-block;
    width: 1.5em;
    margin-left: -3em
}

p.sp-hangindent_3x {
    margin-left: 4.5em
}

p.sp-hangindent_3x span.sp-label {
    display: inline-block;
    width: 1.5em;
    margin-left: -4.5em
}

p.sp-indent {
    margin-left: 1.5em
}

p.sp-indent_2x {
    margin-left: 3em
}

p.sp-indent_3x {
    margin-left: 4.5em
}

ol.loweralpha {
    list-style-type: lower-alpha
}

ol.upperalpha {
    list-style-type: upper-alpha
}

ol.arabic {
    list-style-type: decimal
}

ol.lowerroman {
    list-style-type: lower-roman
}

ol.upperroman {
    list-style-type: upper-roman
}

ol.dash {
    list-style-type: "– "
}

p.sp-versi_1 {
    margin: 1rem 0 0 1rem
}

p.sp-versi_2 {
    margin: 0 0 0 1rem
}

span.tab {
    padding-left: 1rem
}

span.sp-small-caps {
    font-variant: small-caps;
}