@charset "UTF-8";

@font-face {
    font-family:Lato;
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:url('./fonts/Lato-Regular.woff2') format('woff2');
}

@font-face {
    font-family:Lato;
    font-style:normal;
    font-weight:600;
    font-display:swap;
    src:url('./fonts/Lato-Bold.woff2') format('woff2');
}

:root {
    --color-text: #343434;
    --color-green: #097C2B;
    --color-gray-dark: #777;
    --a-hover-bg: #ededed;
}

*,
::after,
::before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-overflow-scrolling: touch;
}

body {
    padding: 0;
    margin: 0;
    font-family: 'Lato', sans-serif;
    background-color: #fff;
}

.main {
    overflow-wrap: break-word;
    font-size: 1.25rem;
    line-height: 1.6;
    color: var(--color-text);
}

a:focus-visible {
    outline: none;
}

/*=========================================================================
Title
=========================================================================*/

.title-container {
    margin-bottom: 6em;
    font-size: 110%;
}
.title {
    margin-top: 0rem;
    overflow-wrap: break-word;
}

/*=========================================================================
TOC - jump and toggle
=========================================================================*/

.toc-nav {
    position: fixed;
    z-index: 3;
    bottom: 0;
    left: 0;
    margin: 0;
    min-width: 1.33em;
    box-shadow: 0 0 2px black;
    border-top-right-radius: 2rem;
    font-size: 1.5em;
}

.toc-jump {
    display: block;
    border-top-right-radius: 2rem;
    padding: 0 .3em 2em .3em;
    margin-bottom: -1.9em;
    box-shadow: 0 0 2px black;
    background-color: white;
}

.toc-jump:hover,
.toc-jump:focus-visible {
    background-color: var(--a-hover-bg);
}

.toc-toggle {
    display: block;
    border-top-right-radius: 2rem;
    padding: 0 .3em;
    box-shadow: 0 0 2px black;
    background-color: white;
}

.toc-toggle:hover,
.toc-toggle:focus-visible {
    background-color: var(--a-hover-bg);
}

.toc-nav:hover span,
.toc-nav:focus-visible span {
    display: inline;
}

.toc-nav a {
    text-decoration-color: #606060;
    color: #606060;
}

/*=========================================================================
TOC
states: .toc-container.sidebar, .toc-container.inline
=========================================================================*/

@media (max-width: 80em) {
    .toc-container {
        position: relative;
        width: 100%;
        height: auto;
        background-color: white;
        padding: 0;
    }
}

.sidebar .toc {
    padding: 30px 20px 2rem 30px;
    box-shadow: -10px 0 .7em -.5em rgba(0, 0, 0, .2) inset;
}

/* ToC list styles */
.toc ul,
.toc li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.toc ul  {
    margin-left: 0;
}

.toc li {
    margin: 1.5rem 0;
    font-weight: 600;
}

.toc ul ul li {
    margin: 0.3rem 0;
    font-weight: 400;
}

/* ToC menu links */
/* more specific selector to than .content a */
.toc-container .toc a {
    display: block;
    color: var(--color-text);
    text-decoration: none;
    font-size-adjust: 0.5;
}

.toc a[aria-current] {
    position:relative;
}

.toc a:hover,
.toc a:focus-visible {
    background-color: #ededed;
    box-shadow: 0 3px var(--color-green);
}

.toc a[aria-current]::before {
    content: '';
    position: absolute;
    top: 9px;
    left: -14px;
    display: block;
    width: 8px;
    height: 8px;
    background-color: var(--color-green);
    border-radius: 50%;
}

/* extra styles per status */
.sidebar a {
    display: block;
    font-size: 1rem;
}

.inline a {
    font-size: 1.125rem;
}

/* ToC Headings */
.toc h1,
.toc h2,
.toc h3 {
    margin-top: 0;
}

.sidebar h2 {
    font-size:1.5rem;
}

.inline h2 {
    margin-top: 2em;
}

/*=========================================================================
Sidebar
=========================================================================*/

.sidebar {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 2;
    overflow: auto;
    scroll-padding-top: 72px;
    width: 100%;
    height: 100vh;
    max-width: 23.5em;
    background-color: #f7f8f9;
}

/*=========================================================================
Inline
=========================================================================*/
/*
.inline {
    position: relative;
    width: 100%;
    box-shadow: none;
    height: auto;
    background-color: white;
    padding: 0;
} */

/*=========================================================================
BIT Logo
=========================================================================*/

.content-logo-container {
    margin-top: 2.5rem;
}

.content-logo-container img {
    height: 32px;
}

.content .content-logo-container a {
    margin: -4px;
    padding: 4px;
}

.content .content-logo-container a:focus-visible,
.content .content-logo-container a:hover {
    text-decoration: none;
    background: #fff;
    box-shadow: 0 3px var(--color-green);
    outline: none;
}

/*=========================================================================
Content
=========================================================================*/

.content {
    max-width: 62em;
    padding-left: 29em;
    padding-right: 6em;
}

@media (max-width: 80em) {
    .content {
        margin: auto;
        padding: 0 2vw;
    }
}

@media (max-width: 94em) {
    .content {
        margin: auto;
    }
}

@media (min-width: 80.01em) {
    .content.centered {
        padding: 0;
        margin: auto;
    }
}

/* Target content links with section selector */
.content a {
    display: inline-block;
    color: var(--color-green);
    text-decoration-thickness: 1px;
    text-decoration-color: var(--color-green);
}

.content a:hover,
.content a:focus-visible {
    text-decoration-thickness: 3px;
    text-decoration-color: var(--color-green);
    background: var(--a-hover-bg);
}

.content table {
    border-collapse: collapse;
    border: 1px solid black;
    width: 100%;
    overflow-wrap: break-word;
}

.content th {
    background-color: #f7f8f9;
    line-height: 1.5;
    margin-bottom: 0.938em;
    font-family: 'Lato', sans-serif;
    font-size: 1.000em;
    font-weight: 400;
    width: auto;
    height: 100%;
}

.content th,
.content td {
    border: 1px solid var(--color-gray-dark);
    padding: 0.5em;
    text-align: left;
    vertical-align: top;
}

.content th p,
.content td p,
.content td ul {
    margin: 0;
}

.content tbody img {
    height: auto;
}

.content blockquote {
    border-left: solid 4px var(--color-green);
    margin: 0 0 1rem 0;
    padding: 0.5rem 1rem 0.5rem 70px;
    background: #efefef;
    position: relative;
}

.content blockquote::before{
    font-family: Arial;
    content: "\201C";
    color: var(--color-green);
    font-size:5em;
    position: absolute;
    left: 10px;
    top:-10px;
}

.table-container {
    overflow-x: auto;
    display: block;
}

p {
    word-wrap: break-word;
}

/*=========================================================================
Headings
=========================================================================*/

h1, h2, h3, h4, h5, h6 {
    color: var(--color-text);
    font-weight: 600;
    font-family: 'Lato', sans-serif;
    position: relative;
}

h1, h2, h3 {
    margin-block: 2em .5em;
    color: var(--color-green);
}

h1 {
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 3rem;
    margin-top: 3rem;
}
@media screen and (max-width: 379px) {
    h2, h3 {
        hyphens: auto;
    }
}

@media screen and (max-width: 80em) {
    .heading-wrapper {
        display: flex;
        align-items: baseline;
        gap: 0.1rem;
    }
    .heading-wrapper .self-link {
        flex-basis: 24px;
        flex-grow: 1;
        flex-shrink: 0;
    }
}

@media screen and (min-width: 80.01em) {
    .heading-wrapper {
        position: relative;
    }
    .heading-wrapper .self-link {
        position: absolute;
        top: -2px;
        left: -2.25em;
    }
    /* Adjust position of self-link due to heights of h2 and h3 */
    .heading-wrapper:has(h2) .self-link {
        top: 4px;
    }
}

.heading-wrapper .self-link {
    color: var(--color-gray-dark);
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
}

.heading-wrapper .self-link:hover,
.heading-wrapper .self-link:focus-visible {
    box-shadow: 0 3px var(--color-green);
}

/*=========================================================================
Helper classes
=========================================================================*/

.hidden {
    display: none;
}

.visually-hidden:not(:focus):not(:active) {
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}
