/* General */
body {
    --md-text-font-family: -apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
    --md-code-font-family: Roboto Mono,SFMono-Regular,Consolas,Menlo,monospace;
}

.md-consent__overlay {
    z-index: 999999 !important;
}

.md-consent__inner {
    z-index: 999999 !important;
}

.mermaid {
    --md-mermaid-font-family: unset;
}

.md-tooltip__inner {
    font-style: normal;
}

.md-content__inner.md-typeset {
    font-size: .82rem;
}

.md-typeset .admonition, .md-typeset details {
    font-size: .65rem;
}

.highlight {
    font-size: .8rem;
}

.admonition .highlight {
    font-size: .65rem;
}

.md-annotation .md-annotation__index:focus,.md-annotation .md-annotation__index:hover {
    color: var(--md-accent-bg-color)
}

.md-typeset .md-button {
    margin-right: 0.2em;
}

.md-typeset a {
    font-weight: 600;
}

.md-typeset a:focus:not(.md-button),.md-typeset a:hover:not(.md-button) {
    text-decoration: underline;
}

.md-typeset .md-button--gh-sponsor {
    box-shadow: 1px 1px 0px rgba(0, 0, 0, 0.2);
    line-height: 36px!important;
    display: inline-block!important;
    background-color: #5cb85c;
    padding: 2px 18px !important;
    text-align: center !important;
    color: #fff !important;
    cursor: pointer;
    overflow-wrap: break-word;
    vertical-align: middle;
    border: 0 none #fff !important;
    text-decoration: none;
    text-shadow: none;
    font-size: 14px !important;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
}

.md-typeset .md-button--gh-sponsor:hover {
    background-color: #52a552 !important;
    text-decoration: none !important;
}

.md-typeset .md-button--kofi-sponsor {
    box-shadow: 1px 1px 0px rgba(0, 0, 0, 0.2);
    line-height: 36px!important;
    display: inline-block!important;
    background-color: #29abe0;
    padding: 2px 18px !important;
    text-align: center !important;
    color: #fff !important;
    cursor: pointer;
    overflow-wrap: break-word;
    vertical-align: middle;
    border: 0 none #fff !important;
    text-decoration: none;
    text-shadow: none;
    font-size: 14px !important;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
}

.md-typeset .md-button--kofi-sponsor:hover {
    background-color: #2499c9 !important;
    text-decoration: none !important;
}

.md-typeset .md-button--patreon-sponsor {
    box-shadow: 1px 1px 0px rgba(0, 0, 0, 0.2);
    line-height: 36px!important;
    display: inline-block!important;
    background-color: #000;
    padding: 2px 18px !important;
    text-align: center !important;
    color: #fff !important;
    cursor: pointer;
    overflow-wrap: break-word;
    vertical-align: middle;
    border: 0 none #fff !important;
    text-decoration: none;
    text-shadow: none;
    font-size: 14px !important;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
}

.md-typeset .md-button--patreon-sponsor:hover {
    color: #000 !important;
    background-color: #fff !important;
    text-decoration: none !important;
}

.md-typeset .twemoji.big-icon {
    --md-icon-size: 2.5em;
}

.md-typeset .twemoji.bigger-icon {
    --md-icon-size: 5em;
}

.iimg {
    box-shadow: var(--md-shadow-z1);
}

.md-typeset .overview {
    --md-icon-size: 2.5em;
    margin-right: 10px;
    vertical-align: middle;
    opacity: 0.3;
    color: var(--md-typeset-a-color) !important;
    transition: transform 0.3s ease;
}

.md-typeset .overview:focus, .md-typeset .overview:hover {
    color: var(--md-typeset-a-color) !important;
}

.md-typeset .grid.cards>ol>li:focus-within .overview,.md-typeset .grid.cards>ol>li:hover .overview,.md-typeset .grid.cards>ul>li:focus-within .overview,.md-typeset .grid.cards>ul>li:hover .overview {
    transform: scale(1.1);
}

/* API */
.dobjtype {
    display: inline-block;
    margin-left: 0.5rem;
    font-size: 80%;
    color: var(--md-default-fg-color--lighter) !important;
}

.githublink {
    display: inline-block;
    margin-left: 0.5rem;
    font-size: 80%;
    color: var(--md-default-fg-color--lighter) !important;
}

.githublink:hover {
    color: var(--md-accent-fg-color) !important;
}

/* Animated new */
@keyframes new {
    0%,to{
        transform: scale(1) rotate(0deg)
    }
    50%{
        transform: scale(1.15) rotate(10deg)
    }
}

.md-typeset .mdx-pulse {
    animation: new 2s infinite;
}

.md-typeset .mdx-pulse svg {
    fill: var(--md-accent-fg-color);
}

/* Animated heart */
@keyframes heart {
    0%, 40%, 80%, 100% {
        transform: scale(1);
    }
    20%, 60% {
        transform: scale(1.15);
    }
}

.heart {
    animation: heart 1000ms infinite;
}

/* Getting started */
.feature-row:after {
    content: "";
    display: table;
    clear: both;
}

.feature-column {
    width: 50%;
    float: left;
    padding: 0 20px 20px 20px;
}

.feature-column.appreciation {
    text-align: center;
    padding: 15px;
}

.feature-column-dummy {
    width: 25%;
    float: left;
    padding: 0 20px 20px 20px;
}

@media screen and (max-width:29.9375em) {
    .feature-column {
        width: 100%;
    }

    .feature-column.appreciation {
        text-align: initial;
    }

    .feature-column-dummy {
        display: none;
    }
}

.feature-column .icon {
    font-size: 1.5rem;
    display: block;
}

/* Version */
.md-version {
    color: var(--md-primary-bg-color--light);
    display: inline-block;
    margin-left: .2rem;
    font-style: italic;
}

.lock-icon {
    color: #ffaa33;
    display: inline-block;
    vertical-align: middle;
    margin-left: .2rem;
}

.lock-icon svg {
    fill: currentcolor;
    display: block;
    height: 1rem;
    width: 1rem;
}

.unlock-icon {
    color: #5eeb00;
    display: inline-block;
    vertical-align: middle;
    margin-left: .2rem;
}

.unlock-icon svg {
    fill: currentcolor;
    display: block;
    height: 1rem;
    width: 1rem;
}

/* Progress Bars */
.progress {
    display: block;
    width: 300px;
    height: 27px;
    margin: 15px 0;
    position: relative;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

.progress-bar {
    height: 27px;
    float: left;
    background-color: var(--md-progress);
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 -1px 0 rgba(0, 0, 0, .1);
}

.progress-label {
    position: absolute;
    width: 100%;
    margin: 0;
    color: white;
    font-weight: 700;
    font-size: 75%;
    line-height: 27px;
    white-space: nowrap;
    text-align: center;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.candystripe .progress-bar {
    background-size: 2.5rem 2.5rem;
    background-image: -webkit-linear-gradient(
        135deg, var(--md-progress-stripe) 27%,
        transparent 27%,
        transparent 52%, var(--md-progress-stripe) 52%,
        var(--md-progress-stripe) 77%,
        transparent 77%, transparent
    );
    background-image: -moz-linear-gradient(
        135deg,
        var(--md-progress-stripe) 27%, transparent 27%,
        transparent 52%, var(--md-progress-stripe) 52%,
        var(--md-progress-stripe) 77%, transparent 77%,
        transparent
    );
    background-image: -ms-linear-gradient(
        135deg,
        var(--md-progress-stripe) 27%, transparent 27%,
        transparent 52%, var(--md-progress-stripe) 52%,
        var(--md-progress-stripe) 77%, transparent 77%,
        transparent
    );
    background-image: -o-linear-gradient(
        135deg,
        var(--md-progress-stripe) 27%, transparent 27%,
        transparent 52%, var(--md-progress-stripe) 52%,
        var(--md-progress-stripe) 77%, transparent 77%,
        transparent
    );
    background-image: linear-gradient(
        135deg,
        var(--md-progress-stripe) 27%, transparent 27%,
        transparent 52%, var(--md-progress-stripe) 52%,
        var(--md-progress-stripe) 77%, transparent 77%,
        transparent
    );
}

.candystripe-animate .progress-bar {
    -webkit-animation: animate-stripes 8s linear infinite;
    -moz-animation: animate-stripes 8s linear infinite;
    animation: animate-stripes 8s linear infinite;
}

@-webkit-keyframes animate-stripes {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: 2.5rem 0;
    }
}

@-moz-keyframes animate-stripes {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: 2.5rem 0;
    }
}

@keyframes animate-stripes {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: 2.5rem 0;
    }
}

/* Pygments */
.language-pycon .gp, .language-pycon .go {
    user-select: none;
}

/* Header */
.announce-icon {
    color: red;
}

.md-banner {
    color: var(--md-footer-fg-color--light);
}

.md-banner a, .md-banner strong {
    color: inherit;
    text-decoration: underline;
}

/* iFrame */
.youtube-video {
    aspect-ratio: 16 / 9;
    width: 100%;
}

/* Separators */
.separator-container {
    text-align: center;
}

.separator {
    display: inline-block !important;
    width: 32px;
    margin: 0 14px !important;
    vertical-align: middle;
    border-bottom: 2px solid var(--md-default-fg-color--lighter) !important;
}

.separator-text {
    color: var(--md-default-fg-color--lighter) !important;
    font-weight: bold !important;
}
