/* global variables */
:root * {
    --md-tasklist-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 3H5c-1.11 0-2 .89-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2m0 2v14H5V5h14z"/></svg>');
    --md-tasklist-icon--checked: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m10 17-5-5 1.41-1.42L10 14.17l7.59-7.59L19 8m0-5H5c-1.11 0-2 .89-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2z"/></svg>');
    --md-code-fg-color: #770000;
    --md-code-bg-color: #fafafa;
    --md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2 9.19 8.62 2 9.24l5.45 4.73L5.82 21 12 17.27z"></path></svg>');
    --md-admonition-icon--tag: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m21.41 11.58-9-9A2 2 0 0 0 11 2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 .59 1.42l9 9A2 2 0 0 0 13 22a2 2 0 0 0 1.41-.59l7-7A2 2 0 0 0 22 13a2 2 0 0 0-.59-1.42M13 20l-9-9V4h7l9 9M6.5 5A1.5 1.5 0 1 1 5 6.5 1.5 1.5 0 0 1 6.5 5z"></path></svg>');
}

[data-md-color-accent=deep-orange] {
    --md-accent-fg-color: orangered;
    --md-accent-fg-color--transparent: rgba(255, 110, 66, .1);
    --md-accent-bg-color: #fff;
    --md-accent-bg-color--light: hsla(0, 0%, 100%, .7);
}

/* logo */
.md-logo {
    color: orangered;
}

/* search input */
[data-md-color-primary] .md-search__form {
    background-color: transparent;
}

@media screen and (min-width: 60em) {
    .md-search__inner {
        width: 2.2rem;
    }
}

/* sidebar */
.md-header[data-md-state="hidden"] + .md-container .md-sidebar {
    top: 0px !important; /* move up when header is hidden */
}

.md-container .md-sidebar__scrollwrap {
    overflow: hidden;
}

.md-container .md-sidebar__scrollwrap:hover {
    overflow-y: auto;
}

/* main content */
.md-main__inner {
    margin-top: 0;
}

.md-grid {
    max-width: 71rem;
}

/* navigation */
.md-tabs__link.md-tabs__link--active,
.md-nav__link.md-nav__link--active {
    font-weight: 700;
}

/* footer */
.md-footer {
    color: unset;
    background-color: unset;
}

.md-footer-meta {
    background-color: black;
}

.md-footer__link {
    padding-top: 1em;
    padding-bottom: 0;
}

/* tags */
.md-tag {
    font-weight: unset;
}

/* paragraph */
.md-typeset {
    font-size: 0.75rem;
}

/* headers */
.md-typeset h1 {
    color: black;
    font-size: 2em;
    margin: 0 0 0.5em 0;
}

.md-typeset h2 {
    color: navy;
    font-size: 1.6em;
    margin: 1.6em 0 0.5em 0;
    padding-bottom: 0.125em;
    border-bottom: 2px solid navy;
}

.md-typeset h3 {
    color: navy;
    font-size: 1.4em;
    margin: 1.6em 0 0.5em 0;
    border-bottom: 1px dashed navy;
}

.md-typeset h4 {
    color: black;
    font-size: 1.2em;
    /* font-weight: normal; */
    margin: 1.6em 0 0.5em 0;
    text-decoration: underline;
    text-underline-offset: 0.25em;
}

.md-typeset p {
    text-align: justify;
}

/* lists */
.md-typeset :is(ol,ul) li:last-child {
    margin-bottom: 0.5em;
}

.md-typeset :is(ol,ul) li:not(:last-child) > *:last-child {
    margin-bottom: 1em;
}

.md-typeset .packed :is(ol, ul) li,
.md-typeset .packed :is(ol, ul) :is(ol, ul),
.md-typeset .packed :is(ol, ul) :is(ol, ul) li {
    margin-top: 0;
    margin-bottom: 0;
}

.md-typeset li::marker {
    font-weight: 700;
}

/* quotes */
.md-typeset blockquote {
    border-left: 2px solid lightgray !important;
    font-size: 0.95em;
}

.md-typeset blockquote > :first-child {
    margin-top: 0.25em;
}

.md-typeset blockquote > :last-child {
    margin-bottom: 0.25em;
}

/* code */
.md-typeset strong code {
    color: darkmagenta;
    font-weight: normal;
}

.md-typeset pre code {
    white-space: pre-wrap;
    word-break: break-word;
    font-size: 0.95em;
}

.md-typeset .highlight pre {
    margin-bottom: 2em;
}

.md-typeset .highlight span.filename {
    font-weight: initial;
}

.md-typeset .highlight [data-linenos]:before {
    background-color: unset;
    color: lightgray;
    box-shadow: none;
}

.md-typeset :not(pre) > code {
    background-color: initial;
    font-size: 1em;
    padding: 0;
}

.md-typeset .md-annotation__index:after {
    animation: none;
}

.md-typeset .md-annotation__index > ::before {
    content: attr(data-md-annotation-id);
}

.md-typeset :focus-within > .md-annotation__index > ::before {
    transform: none;
}

.md-typeset .highlight + .highlight.log {
    margin-top: -2em;
}

.md-typeset .highlight.log {
    font-size: small;
}

.md-typeset .highlight.log :is(pre,code) {
    color: unset;
}

.md-typeset .highlight.log .md-clipboard.md-icon {
    display: none;
}

/* admonitions */
.md-typeset :is(.admonition, details) {
    border: none !important;
    background-color: aliceblue !important;
    box-shadow: none;
    font-size: unset;
    margin: 1em 0;
    padding: 0.5em 1em;
}

.md-typeset :is(.admonition-title, summary) {
    border: none;
    background-color: unset !important;
    margin: 0.25em 0;
    padding: 0;
}

.md-typeset :is(.admonition-title, summary):before {
    left: 0;
    top: 0;
    height: 1.2rem;
    width: 1.2rem;
}

.md-typeset :is(.admonition-title, summary):after {
    right: 0;
    top: 0;
}

.md-typeset :is(.admonition, details) > *:not(.admonition-title, summary) {
    padding-left: 1.8rem;
}

[dir=ltr] .md-typeset :is(.admonition-title,summary) {
    padding-left: 2.6rem;
}

.md-typeset details {
    margin-bottom: 0.5em !important;
}

.md-typeset details:not([open]) {
    padding-bottom: 0.5em;
}

.md-typeset details:not([open]) summary {
    font-weight: normal;
}

html .md-typeset :is(.admonition,details) > :last-child,
html .md-typeset :is(.admonition-title,summary):last-child {
    margin-bottom: 0.25em;
}

.md-typeset .tag > :is(.admonition-title, summary)::before {
    background-color: teal;
    -webkit-mask-image: var(--md-admonition-icon--tag);
    mask-image: var(--md-admonition-icon--tag);
}

/* list */
.md-typeset .task-list-indicator:before {
    background-color: gray;
}

.md-typeset [type="checkbox"]:checked + .task-list-indicator:before {
    background-color: green;
}

.md-typeset dt {
    margin-top: 2em;
}

.md-typeset li > .highlight pre {
    margin-top: 0;
}

/* captions */
.md-typeset figcaption {
    max-width: unset;
    margin: 0.5em auto;
}

.md-typeset figure img {
    margin: auto;
}

.md-typeset figure {
    margin-top: 0;
    margin-bottom: 0;
}

/* tabs */
.md-typeset .tabbed-set {
    background-color: whitesmoke;
}

.md-typeset .tabbed-block {
    padding: 0.5em 0 0.5em 1em;
    background: white;
}

.md-typeset .tabbed-labels > label {
    padding: 0.25em 1em;
    margin-right: 1em;
    font-size: 1em;
}

/* table */
.md-typeset__scrollwrap {
    margin: unset;
}

.md-typeset__table {
    padding: 0;
    display: block;
}

.md-typeset table:not([class]) {
    font-size: 0.95em;
    box-shadow: none;
    display: table;
    border-collapse: collapse;
}

.md-typeset table:not([class]) th {
    background-color: lightgoldenrodyellow;
}

.md-typeset table:not([class]) th,
.md-typeset table:not([class]) td {
    padding: 0.5em;
    border-inline: 1px solid #f0f0f0;
    min-width: unset;
}

.md-typeset table:not([class]) code {
    word-break: normal;
}

/* columns */
.md-typeset .row {
    display: flex;
    flex-direction: row;
}

.md-typeset .row .col {
    width: 100%;
    padding: 0 1em;
}

.md-typeset .row.bordered .col {
    border: 1px solid lightgray;
}

.md-typeset .row.bordered .col {
    border: 1px solid lightgray;
}

.md-typeset .row .col:first-of-type {
    padding-left: 0;
}

.md-typeset .row .col:last-of-type {
    padding-right: 0;
}

@media (max-width: 800px) {
    .md-typeset .row {
        flex-direction: column;
    }

    .md-typeset .row .col {
        padding: 0;
    }
}

/* tree view */
.md-typeset .small {
    font-size: small;
}

.md-typeset .xsmall {
    font-size: x-small;
}

.md-typeset .tree-view ul {
    margin: 0 !important;
}

.md-typeset .tree-view li ul {
    margin: 0 !important;
}

.md-typeset .tree-view ul li {
    margin-top: 0.5em;
    margin-bottom: 0 !important;
}

.md-typeset .tree-view li::marker {
    content: "▶ ";
    font-size: small;
}

.md-typeset .tree-view li.item::marker {
    content: unset;
}

.md-typeset .tree-view li.active::marker {
    content: "▼ ";
}

.md-typeset .tree-view li:not(.active) :is(ul, *:not(:first-child)) {
    display: none !important;
}

.md-typeset .tree-view li pre {
    margin-bottom: 0;;
    font-size: small;
}

.md-typeset .tree-view li em {
    color: navy;
}

.md-typeset .tree-view li p {
    margin-top: 0.5em;
    margin-bottom: 0 !important;
}

.md-typeset .tree-view li .highlight {
    margin: 0 !important;
}

/* progress bar */
.md-typeset .progress a {
    color: black !important;
}

.progress {
    display: block;
    width: 100%;
    margin: 0.5rem 0;
    height: 1.4rem;
    background-color: whitesmoke;
    position: relative;
}

.progress-bar {
    height: 1.4rem;
    float: left;
}

.progress-label {
    position: absolute;
    width: 100%;
    margin: 0 !important;
    line-height: 1.4rem;
    white-space: nowrap;
    overflow: hidden;
    padding: 0 1em;
    color: black;
}

.progress.thin {
    margin-top: 0.9rem;
    height: 0.4rem;
}

.progress.thin .progress-bar {
    height: 0.4rem;
}

.progress.thin .progress-label {
    margin-top: -0.4rem;
}

.progress-100plus .progress-bar {
    background-color: #00e67757;
}

.progress-80plus .progress-bar {
    background-color: #fbc02d57;
}

.progress-60plus .progress-bar {
    background-color: #ff910057;
}

.progress-40plus .progress-bar {
    background-color: #ff525257;
}

.progress-20plus .progress-bar {
    background-color: #ff174457;
}

.progress-0plus .progress-bar {
    background-color: #f5005757;
}

/* width */
.w100 {
    width: 100% !important;
}

.w95 {
    width: 95% !important;
}

.w90 {
    width: 90% !important;
}

.w85 {
    width: 85% !important;
}

.w80 {
    width: 80% !important;
}

.w75 {
    width: 75% !important;
}

.w70 {
    width: 70% !important;
}

.w65 {
    width: 65% !important;
}

.w60 {
    width: 60% !important;
}

.w55 {
    width: 55% !important;
}

.w50 {
    width: 50% !important;
}

.w45 {
    width: 45% !important;
}

.w40 {
    width: 40% !important;
}

.w35 {
    width: 35% !important;
}

.w30 {
    width: 30% !important;
}

.w25 {
    width: 25% !important;
}

.w20 {
    width: 20% !important;
}

.w15 {
    width: 15% !important;
}

.w10 {
    width: 10% !important;
}

.w5 {
    width: 5% !important;
}

/* form */
#mkdocs-decrypt-form h1 {
    font-size: 1.5em;
    color: orangered;
}

#mkdocs-decrypt-form :is(input, button) {
    border: 1px solid navy;
    padding: 0.25em 0.5em;
    font-size: revert;
}

#mkdocs-decrypt-form button {
    background-color: navy;
    color: white;
}

/* button */
.md-typeset .md-button {
    /* background-color: orangered; */
    color: navy;
    border: 1px solid navy;
    padding: 0.125em 0.5em;
    font-weight: unset;
    font-size: revert;
}

.md-typeset .md-button:hover {
    background-color: navy;
    border: 1px solid navy;
    color: white;
}

.md-typeset :is(.emojione,.twemoji,.gemoji) {
    vertical-align: sub;
    height: 1.25em;
    width: 1.25em;
}

/* printing */
.md-typeset .print-only {
    display: none;
}

/* custom */
.md-content .md-typeset {
    font-size: 18px;
}

.md-content figure img {
    border: 1px solid #d3d3d3;
    padding: 8px;
}

.md-content .smile_curve_notice {
    color: red;
    text-align: center;
    font-weight: bold;
    margin-bottom: 30px;
}

.md-content span.red {
    color: red;
    font-weight: bold;
}

.md-content span.green {
    color: green;
    font-weight: bold;
}

.md-content span.gray {
    color: gray;
    font-weight: bold;
}

[dir=ltr] .md-header__title {
    margin-left: 2px;
}

@page {
    size: a4 portrait;
    margin: 20mm 20mm 15mm 20mm;
}

@media print {
    .md-typeset {
        font-size: .68rem;
    }

    .md-typeset .screen-only {
        display: none;
    }

    .md-typeset .print-only {
        display: block;
    }

    .md-typeset :is(.admonition, details) {
        page-break-inside: auto;
    }

    .md-typeset .new-page {
        page-break-after: always;
    }

    .md-typeset .new-page + * {
        margin-top: 0;
    }

    .md-typeset figure {
        page-break-inside: avoid;
    }

    /* hide comments */
    .md-typeset #__comments,
    .md-typeset #disqus_recommendations,
    .md-typeset #disqus_thread {
        display: none;
    }
}
