.bd-sidebar-toggle {
    color: #6c757d;
    margin-bottom: 6px;
}

.bd-sidebar-toggle:hover,.bd-sidebar-toggle:focus {
    color: #7952b3
}

.bd-sidebar-toggle:focus {
    box-shadow: 0 0 0 3px rgba(121,82,179,0.25)
}

.bd-sidebar-toggle .bi-collapse {
    display: none
}

.bd-sidebar-toggle:not(.collapsed) .bi-expand {
    display: none
}

.bd-sidebar-toggle:not(.collapsed) .bi-collapse {
    display: inline-block
}

.bd-masthead {
    padding: 3rem 0;
    background: linear-gradient(165deg, #f7f5fb 50%, #fff 50%)
}

.bd-masthead h1 {
    font-size: calc(1.525rem + 3.3vw);
    line-height: 1
}

@media (min-width: 1200px) {
    .bd-masthead h1 {
        font-size: 4rem
    }
}

.bd-masthead p:not(.lead) {
    color: #495057
}

.bd-masthead .btn {
    padding: .8rem 2rem;
    font-weight: 600
}

.bd-masthead .lead {
    font-size: calc(1.275rem + .3vw);
    font-weight: 400;
    color: #495057
}

@media (min-width: 1200px) {
    .bd-masthead .lead {
        font-size: 1.5rem
    }
}

@media (min-width: 768px) {
    .mw-md-75 {
        max-width: 75%
    }
}

.masthead-followup-icon {
    padding: .75rem;
    background-image: linear-gradient(to bottom right, rgba(255,255,255,0.2), rgba(255,255,255,0.01));
    border-radius: .75rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.1)
}

.masthead-followup-svg {
    filter: drop-shadow(0 1px 0 rgba(0,0,0,0.125))
}


@media (min-width: 768px) {
    :root {
        scroll-padding-top: 4rem
    }
}

.bd-content>h2:not(:first-child) {
    margin-top: 3rem
}

.bd-content>h3 {
    margin-top: 2rem
}

.bd-content>ul li,.bd-content>ol li {
    margin-bottom: .25rem
}

.bd-content>ul li>p~ul,.bd-content>ol li>p~ul {
    margin-top: -.5rem;
    margin-bottom: 1rem
}

.bd-content>.table {
    max-width: 100%;
    margin-bottom: 1.5rem;
    font-size: .875rem
}

@media (max-width: 991.98px) {
    .bd-content>.table {
        display: block;
        overflow-x: auto
    }

    .bd-content>.table.table-bordered {
        border: 0
    }
}

.bd-content>.table th:first-child,.bd-content>.table td:first-child {
    padding-left: 0
}

.bd-content>.table th:not(:last-child),.bd-content>.table td:not(:last-child) {
    padding-right: 1.5rem
}

.bd-content>.table td:first-child>code {
    white-space: nowrap
}

.bd-title {
    font-size: calc(1.425rem + 2.1vw)
}

@media (min-width: 1200px) {
    .bd-title {
        font-size: 3rem
    }
}

.bd-lead {
    font-size: calc(1.275rem + .3vw);
    font-weight: 300
}

@media (min-width: 1200px) {
    .bd-lead {
        font-size: 1.5rem
    }
}

.bd-text-purple-bright {
    color: #7952b3
}

.bd-bg-purple-bright {
    background-color: #7952b3
}

.skippy {
    background-color: #563d7c
}

.skippy a {
    color: #fff
}

@media (max-width: 767.98px) {
    .bd-sidebar {
        margin: 0 -.75rem 1rem
    }
}

.bd-links {
    overflow: auto;
    font-weight: 600
}

@media (min-width: 768px) {
    .bd-links {
        position: -webkit-sticky;
        position: sticky;
        top: 5rem;
        display: block !important;
        height: calc(100vh - 7rem);
        padding-left: .25rem;
        margin-left: -.25rem;
        overflow-y: auto
    }
}

@media (max-width: 767.98px) {
    .bd-links>ul {
        padding: 1.5rem .75rem;
        background-color: rgba(248,249,250,0.1);
        border-bottom: 1px solid #e9ecef
    }
}

.bd-links a {
    padding: .1875rem .5rem;
    margin-top: .125rem;
    margin-left: 1.25rem;
    color: rgba(255,255,255,0.65);
    text-decoration: none
}

.bd-links a:hover,.bd-links a:focus {
    color: rgba(255,255,255,0.85);
    background-color: rgba(121,82,179,0.1)
}

.bd-links .btn {
    padding: .25rem .5rem;
    font-weight: 600;
    color: rgba(255,255,255,0.65);
    background-color: transparent;
    border: 0
}

.bd-links .btn:hover,.bd-links .btn:focus {
    color: rgba(255,255,255,0.85);
    background-color: rgba(121,82,179,0.1)
}

.bd-links .btn:focus {
    box-shadow: 0 0 0 1px rgba(121,82,179,0.7)
}

.bd-links .btn::before {
    width: 1.25em;
    line-height: 0;
    content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%28255,255,255,.5%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e");
    transition: transform 0.35s ease;
    transform-origin: .5em 50%
}

@media (prefers-reduced-motion: reduce) {
    .bd-links .btn::before {
        transition: none
    }
}

.bd-links .btn[aria-expanded="true"] {
    color: rgba(255,255,255,255,0.85)
}

.bd-links .btn[aria-expanded="true"]::before {
    transform: rotate(90deg)
}

.bd-links .active {
    font-weight: 600;
    color: rgba(255,255,255,255,0.85)
}

@media (min-width: 768px) {
    .bd-layout {
        display: grid;
        gap: 1.5rem;
        grid-template-areas: "sidebar main";
        grid-template-columns: 1fr 3fr
    }
}

@media (min-width: 992px) {
    .bd-layout {
        grid-template-columns: 1fr 5fr
    }
}

.bd-sidebar {
    grid-area: sidebar
}

.bd-main {
    grid-area: main
}

@media (min-width: 768px) {
    .bd-main {
        display: grid;
        gap: inherit;
        grid-template-areas: "intro" "toc" "content";
        grid-template-rows: auto auto 1fr
    }
}

@media (min-width: 992px) {
    .bd-main {
        grid-template-areas: "intro   toc" "content toc";
        grid-template-columns: 4fr 1fr;
        grid-template-rows: auto 1fr
    }
}

.bd-intro {
    grid-area: intro
}

.bd-toc {
    grid-area: toc
}

.bd-content {
    grid-area: content;
    min-width: 1px
}

@media (min-width: 992px) {
    .bd-toc {
        position: -webkit-sticky;
        position: sticky;
        top: 5rem;
        right: 0;
        z-index: 2;
        height: calc(100vh - 7rem);
        overflow-y: auto
    }
}

.bd-toc nav {
    font-size: .875rem
}

.bd-toc nav ul {
    padding-left: 0;
    list-style: none
}

.bd-toc nav ul ul {
    padding-left: 1rem;
    margin-top: .25rem
}

.bd-toc nav li {
    margin-bottom: .25rem
}

.bd-toc nav a {
    color: inherit
}

.bd-toc nav a:not(:hover) {
    text-decoration: none
}

.bd-toc nav a code {
    font: inherit
}

.bd-footer a {
    color: #495057;
    text-decoration: none
}

.bd-footer a:hover,.bd-footer a:focus {
    color: #0d6efd;
    text-decoration: underline
}

.bd-placeholder-img {
    font-size: 1.125rem;
    text-anchor: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

@media (min-width: 768px) {
    .bd-placeholder-img-lg {
        font-size: 3.5rem;
    }
}
