.row { max-width: 1400px; margin: auto; @media (max-width: 1570px) { padding: 0 var(--milli); } } .content-wrapper { display: flex; justify-content: center; padding-top: var(--nav-height); @media(max-width: 800px) { padding-top: calc(var(--nav-height) + var(--xx-small)); } @media(max-width: 380px) { padding-top: calc(var(--nav-height) + var(--medium)); } } .content { display: flex; gap: var(--large); flex-direction: column; flex: 3; flex-shrink: 1; min-height: calc(100vh - 178px); // https://weblog.west-wind.com/posts/2016/Feb/15/Flexbox-Containers-PRE-tags-and-managing-Overflow min-width: 0; max-width: 840px; padding: var(--xx-small) var(--small); @media (max-width: 1260px) { flex: 2.5; padding: var(--xx-small); } @media(max-width: 510px) { padding: var(--xx-small) var(--milli); } @media(max-width: 850px) { gap: 0; } footer { margin-top: auto; } } .table-container { overflow-x: auto; } table.inline-headings { th, td { p { margin-top: 0.3em; margin-bottom: 0.3em; padding-left: 2em; } .heading .highlight { display: inline-block; } } } .relative { position: relative; } #docsearch { margin-bottom: 16px; .DocSearch-Button { margin: 0 0 16px 0; width: 100%; background: var(--card-light); border: 1px solid var(--divider-light); border-radius: 8px; max-width: 230px; } .DocSearch-Button-Keys { @media(max-width: 768px) { display: flex; } } .DocSearch-Button-Key { background: var(--card); color: var(--body); box-shadow: 1px 1px 0px 0px var(--divider-light); } .DocSearch-Button-Placeholder { font-size: rem(1.6); font-weight: 300; @media(max-width: 768px) { display: initial; } } .DocSearch-Search-Icon { color: var(--body); } } /* Theme override for the Algolia Docsearch modal */ .DocSearch-Modal { --docsearch-primary-color: #{$purple-v2}; --docsearch-highlight-color: #{$purple-v2}; --docsearch-searchbox-shadow: inset 0 0 0 2px var(--docsearch-primary-color); } .backdrop { position: fixed; height: 100vh; width: 100vw; inset: 0; background: rgba(0, 0, 0, .7); display: none; } .sidebar-wrapper { flex: 1; @media(max-width: 850px) { position: fixed; background: var(--bg); z-index: 100; top: var(--nav-height); left: 0; border-right: 1px solid var(--divider-light); transform: translateX(-100%); transition: all .2s ease-out; visibility: hidden; .close-topics { opacity: 0; pointer-events: none; } &.shown { transform: none; visibility: visible; .close-topics { opacity: 1; pointer-events: initial; } } } } .sidebar { margin-left: auto; position: sticky; top: var(--nav-height); padding: var(--xx-small) var(--small); overflow-y: auto; height: 100vh; display: flex; font-size: rem(1.3); overflow-x: hidden; &, ul { width: 100%; min-width: 200px; max-width: 285px; @media(max-width: 850px) { min-width: 260px; } } @media (max-width: 1570px) { padding-left: var(--milli); padding-right: var(--nano); } @media(max-width: 850px) { padding-bottom: var(--large); } a { display: block; cursor: pointer; position: relative; padding: 3px 0 3px 15px; margin-left: 5px; text-decoration: none; word-wrap: break-word; white-space: initial; &.active { font-weight: 500; } &:hover, &.active { color: var(--highlight); text-decoration: none; svg { color: var(--divider-light); .darker { color: var(--highlight); } } } svg { position: absolute; left: -6px; top: 50%; margin-top: -18px; color: var(--divider-light); .darker { color: var(--sub); } &:hover { stroke-width: 2; } } } code { font-family: "Fira Code", Courier, monospace; } .no-children>a, .level-4 a { &:hover, &.active { border-left: 2px solid var(--highlight); } } ul { position: relative; list-style-type: none; margin-top: 0; padding-left: 0; ul ul { margin-left: rem(0.8); } } li { position: relative; } li.level-1 { &>a { font-weight: 500; color: var(--highlight); } &>ul { margin-bottom: rem(1.5); } padding: 4px 0; border-bottom: 1px solid var(--gray-light); } li.level-1, li.level-2, li.level-3 { >ul { display: none; padding-top: rem(0.5); margin-bottom: rem(0.625); padding-left: rem(0.8); &:before, &:after { content: ""; width: 10px; height: 10px; position: absolute; top: 1px; left: 0px; } &:after { bottom: -10px; top: unset; transform: scaleY(-1); } } &.open { >a { .hidden-when-open { visibility: hidden; } } >ul { display: block; } } } li.level-1.has-children.open { padding-bottom: 4px; } li.level-2.has-children.open { padding-bottom: 4px; } li.level-3.has-children.open { padding-bottom: 4px; } } .toc-wrapper { flex: 1; position: sticky; top: 90px; height: 100vh; overflow-y: auto; @media(max-width: 1050px) { display: none; } .btn-ghost { margin: var(--x-small) var(--milli) var(--milli); } } .toc { max-width: fit-content; min-width: 180px; padding: var(--x-small) rem(2); position: sticky; top: 0; height: 100vh; overflow-y: auto; font-size: var(--sm); padding-bottom: 8.5rem; &-top { margin-top: var(--pico); } h2 { font-size: var(--xsm); letter-spacing: 0.1em; margin: 0 0 rem(0.75) 0; padding: 0; display: inline-block; color: var(--highlight); text-transform: uppercase; } ul { list-style-type: none; margin: 0; padding: 0; } ul ul { margin-left: var(--milli); } li { padding: rem(0.25) 0; } a { text-decoration: none; &.active { &, code { font-weight: 500; } } &.active, &:hover, &:focus { &, code { color: var(--highlight); text-decoration: none; } } } code { font-family: "Fira Code", Courier, monospace; font-variant-ligatures: none; } } .sidebar a, .toc a { white-space: initial; } .footer { display: flex; flex-direction: column; gap: var(--x-small); text-align: center; margin-top: var(--large); padding: var(--small) 0 0; border-top: 1px solid var(--divider-light); &-links { display: flex; justify-content: center; flex-wrap: wrap; column-gap: var(--small); row-gap: var(--milli); font-size: var(--sm); } button { border-bottom: 1px solid transparent; } button:hover, button:focus { border-color: var(--important); } a:not([class]), button { color: var(--sub) !important; font-weight: 300 !important; text-decoration: none; &[href*="https://"] { border-bottom: none; &::after { display: none; } } } } .theme-switcher { display: flex; justify-content: center; gap: var(--xx-small); button { background: transparent; border: none; } svg { height: rem(2.2); width: rem(2.2); fill: var(--gray-mid); } .system.active { svg { fill: var(--important); } } .light.active { svg { fill: orange; } } .dark.active { svg { fill: var(--gray-light); } } } body.dark { .theme-switcher { svg { fill: var(--gray-dark); } } li.level-2 { li.level-3 { ul { &:before, &:after { content: ""; background-image: url("../images/level_three_transition_dark.svg"); } } } ul { &:before, &:after { content: ""; background-image: url("../images/level_three_transition_dark.svg"); } } } } .banner { background-color: var(--tip); padding: var(--pico) var(--milli); text-align: center; @media(max-width: 500px) { padding: var(--pico); } a { color: var(--link); } } /* Need for subheadings not handled by toc.html. toc.html manually handles h2, h3 - since we only display h2 and h3 but if a page has other anchors, want to have the padding. TODO: see about removing scroll logic in toc.html */ html { scroll-padding-top: 80px; }