.no-padding {
    padding:0;
}
.no-margin {
    margin: 0;
}

#main-content {
    padding-top: 15px;
    font-size: 0.875em;
}

.bd-title {
    position: relative;
    padding: 0 0 0.2em 1.5em;
    border-bottom: 1px solid #88CCAA;
    border-radius: 0.2em;
    font-size: 3rem;
    font-weight: 300 !important;
}

.bd-title:after {
    position: absolute;
    top: 50%;
    left: 0.5em;
    transform:translateY(-50%);
    content: '';
    width: 0.8em;
    height: 0.8em;
    border: solid 0.1em #88CCAA;
    border-radius: 100%;
}

#main-content h1,
#main-content h2,
#main-content h3,
#main-content h4,
#main-content h5,
#main-content h6 {
    font-weight: 700;
    margin-bottom: 1rem;
}

#main-content section h1 {
    border-bottom: 4px solid #88CCAA;
}

#main-content section h2 {
    position: relative;
    padding-bottom: 0.2em;
    border-bottom: 4px solid #DDD;
}

#main-content section h2:after {
    position: absolute;
    content: '';
    border-bottom: 4px solid #88CCAA;
    bottom: -4px;
    width: 50%;
    display: block;
}

#main-content section h3 {
    position: relative;
    padding-bottom: 0.2em;
    border-bottom: 2px solid #DDD;
}

#main-content section h3:after {
    position: absolute;
    content: '';
    border-bottom: 2px solid #88CCAA;
    bottom: -2px;
    width: 25%;
    display: block;
}

#main-content section h4 {
    position: relative;
    padding-bottom: 0.2em;
    border-bottom: 1px solid #DDD;
}

#main-content section h4:after {
    position: absolute;
    content: '';
    border-bottom: 1px solid #88CCAA;
    bottom: -1px;
    width: 12.5%;
    display: block;
}

#main-content section h5 {
    padding-bottom: 0.2em;
    border-bottom: 1px solid #DDD;
}

#main-content p {
    margin-bottom: 0.8rem;
}

#main-content ol li, #main-content ul li{
    padding-bottom: 0.25rem;
}

#main-content .table {
    width: auto;
}

#main-content .table td, #main-content .table th {
    padding: 5px 10px;
}

footer {
    padding: 10px;
    border-top: 1px solid #eee;
}

.bd-navbar {
    min-height: 5rem;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.05),inset 0 -1px 0 rgba(0,0,0,.1);
}

@media (max-width: 991.98px) {
    .bd-navbar {
        padding-right:.5rem;
        padding-left: .5rem
    }

    .bd-navbar .navbar-nav-scroll {
        max-width: 100%;
        height: 2.5rem;
        margin-top: .25rem;
        overflow: hidden;
        font-size: .875rem
    }

    .bd-navbar .navbar-nav-scroll .navbar-nav {
        padding-bottom: 2rem;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch
    }
}

@media (min-width: 768px) {
    @supports ((position:-webkit-sticky) or (position:sticky)) {
        .bd-navbar {
            position:-webkit-sticky;
            position: sticky;
            top: 0;
            z-index: 1071
        }
    }
}

.bd-sidebar {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
    border-bottom: 1px solid rgba(0,0,0,.1);
    overflow: auto;
}

@media (min-width: 768px) {
    .bd-sidebar {
        border-right:1px solid rgba(0,0,0,.1)
    }

    @supports ((position: -webkit-sticky) or (position:sticky)) {
        .bd-sidebar {
            position:-webkit-sticky;
            position: sticky;
            top: 5rem;
            height: calc(100vh - 5rem)
        }
    }
}

@media (min-width: 1200px) {
    .bd-sidebar {
        -webkit-box-flex:0;
        -ms-flex: 0 1 320px;
        flex: 0 1 320px
    }
}

.bd-nav {
    display: block !important;
}

.bd-links {
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-right: -15px;
    margin-left: -15px
}

.bd-sidenav {
    display: block;
}

.bd-sidebar .bd-sidenav {
    margin: 8px 0 8px 0; 
}

.bd-sidebar .bd-links {
    list-style-type: none;
    margin: 0 0 20px 0;
    position: relative; 
}

.bd-sidebar ul li {
    word-wrap: break-word;
    margin: 0 0 8px 0;
    line-height: 1.3em;
    padding: 0 0 0 22px;
    position: relative;
}

.bd-sidebar ul li a {
    display: block;
    word-wrap: break-word;
    font-size: 90%;
    color: rgba(0,0,0,.65);
}

.bd-sidebar ul li a.active {
    color: black;
    font-weight: bold;
    text-decoration: underline;
}

.bd-sidebar .bd-sidenav-active > .leafnode {
    background-position: -112px -112px;
}

.bd-sidebar .leafnode {
    width: 12px;
    height: 12px;
    border: #ffffff 1px solid;
    position: absolute;
    top: 6px;
    left: 0;
    background: #ffffff url(../images/sprites.png) 0 0 no-repeat;
    background-position: -35px -3px;
}

.bd-sidebar .arrow {
    width: 12px;
    height: 12px;
    cursor: pointer;
    border: #19e3b1 1px solid;
    position: absolute;
    padding: 0;
    top: 6px;
    left: 0;
    background: #19e3b1 url(../images/sprites.png) 0 0 no-repeat;
}

.bd-sidebar .arrow[aria-expanded="true"] {
    background-position: -19px -3px;
}

.bd-sidebar .arrow[aria-expanded="false"] {
    background-position: -3px -3px;
}

.bd-toc {
    -ms-flex-order: 2;
    order: 2;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    font-size: .875rem
}

@supports ((position: -webkit-sticky) or (position:sticky)) {
    .bd-toc {
        position:-webkit-sticky;
        position: sticky;
        top: 5rem;
        height: calc(100vh - 5rem);
        overflow-y: auto
    }
}

#TableOfContents {
    padding-left: 0;
    border-left: 1px solid #eee
}

#TableOfContents ul {
    padding-left: 1rem;
    list-style-type: none;
}

#TableOfContents ul li a {
    display: block;
    word-wrap: break-word;
    color: rgba(0,0,0,.65);
}

div.search-spinner h2 {
    margin-bottom: 1.5rem;
}

div.loading-spinner {
    width: 64px;
    height: 64px;
    margin: 0px 0 20px 100px;
    background-image: url(../images/loading.gif);
}

div#search-results h2 {
    margin-bottom: 1.5rem;
    border-bottom: #e6e6e6 1px solid;
}

div#search-results h2 span.q {
    font-weight: bold;
}

div#search-results div.result {
    width: 90%;
    margin: 0 0 20px 0;
}

div#search-results div.result a.title {
    font-size: 1em;
}

div#search-results div.result p {
    font-size: 0.875em;
}

.header-link-target {
    pointer-events: none;
}

.header-link-target::before {
    display: block;
    height: 6rem;
    margin-top: -6rem;
    visibility: hidden;
    content: "";
}

.header-link-target > div {
    pointer-events: auto;
}

.header-link {
    padding-left: 0.375em;
    text-decoration: none;
    color: rgba(0,123,255,.5);
    transition: color .16s linear;
    font-weight: 400;
    opacity: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; 
}

.header-link:hover {
    text-decoration: none;
}

*:hover > .header-link, .header-link:focus {
    opacity: 1;
}

.header-link::after {
    font-family: 'icomoon' !important;
    vertical-align: middle;
    content: "\e901";
    font-size: 0.8em;
}

header .search-form button[type="submit"] {
    background-color: white;
    border: 1px solid #ced4da;
    border-left: 0;
}

.search-form .search-icon {
    background: url(../images/sprites.png) 0 0 no-repeat;
    background-position: -50px -3px;
    width: 17px;
    height: 15px;
}

.highlight {
    margin-bottom: 1rem;
}

.highlight pre {
    margin-bottom: 0;
}

.gifffer-fluid {
    width: inherit !important;
    height: inherit !important;
}

.gifffer-fluid > canvas {
    max-width: 100% !important;
    width: inherit !important;
    height: auto !important;
}

button.gifffer-fluid:focus {
    outline: none;
}

.gifffer-play-button {
    border: 5px solid white;
    border-radius: 35px !important;
    background-color: rgba(0,0,0,.9) !important;
    width: 70px !important;
    height: 70px !important;
}

.gifffer-play-button > div {
    border-left: 24px solid white !important;
    left: 20px !important;
}

a[href^="http://"]::after, a[href^="https://"]::after {
    font-family: 'icomoon' !important;
    content: "\e900";
    font-size: 0.8em;
}
