@import '../../common/variables.less'; @fade-height: 40px; @vertical-padding: 20px; @toggle-icon-size: 1.834em; .sidebar-toc { display: none; width: @width-sidebar; max-height: 75vh; padding: @vertical-padding 12px @vertical-padding 32px; box-sizing: border-box; overflow: auto; background-color: @border-color-sidebar; @media ( min-width: @width-breakpoint-desktop-wide ) { width: @width-sidebar-wide; padding-right: 8px; } .sidebar-toc-header { padding-bottom: 12px; } .sidebar-toc-title { color: @color-base--subtle; font-size: @font-size-base; margin: 0; padding: 0; border: 0; } .sidebar-toc-numb { display: none; } .sidebar-toc-link { word-break: break-word; color: @color-link; } .sidebar-toc-text { padding: 4px 0; } .sidebar-toc-contents, .sidebar-toc-list { margin: 0; list-style: none; line-height: 18px; } .sidebar-toc-contents { padding-bottom: ~'calc( @{vertical-padding} / 2 )'; } .sidebar-toc-list-item { display: block; position: relative; list-style-type: none; padding-left: 8px; a { font-size: @font-size-base; } } .sidebar-toc-list-item.sidebar-toc-level-1 { padding-left: 0; } } // Hide scrollbar but allow scrolling for Chrome, Safari, and Opera .sidebar-toc::-webkit-scrollbar { display: none; } // T302076 Add scrollable indicator as fade .sidebar-toc:after { content: ''; display: block; position: absolute; bottom: 0; left: @margin-start-sidebar-content; // T306893: Ensure scrollable indicator is contained in the TOC right: @border-width-base; // Ensure scrollable indicator doesn't cover border/scrollbar height: @fade-height; background: linear-gradient( rgba( 255, 255, 255, 0 ), @border-color-sidebar ); pointer-events: none; // Make the link below the fade clickable } // Highlight active section .sidebar-toc .sidebar-toc-list-item-active > .sidebar-toc-link { color: @color-base; } .sidebar-toc .sidebar-toc-toggle { // For no-js users, toggling is disabled and icon is hidden display: none; cursor: pointer; } // Collapse ToC sections by default, excluding no-js .client-js .sidebar-toc { .sidebar-toc-level-1 .sidebar-toc-list-item { display: none; } .sidebar-toc-level-1.sidebar-toc-list-item-expanded .sidebar-toc-list-item { display: block; } .sidebar-toc-toggle { position: absolute; top: 1px; // visually center icon left: ~'calc( -1 * @{toggle-icon-size} - 1px )'; // leaves 6px between icon + text display: block; width: @toggle-icon-size; // ~22px @ 12 height: @toggle-icon-size; font-size: 0.75em; // reduces size of toggle icon to 12px @ 16 transition: @transition-duration-base; } .sidebar-toc-level-1.sidebar-toc-list-item-expanded .sidebar-toc-toggle { transform: rotate( 0deg ); } } .client-js body.ltr .sidebar-toc .sidebar-toc-toggle { transform: rotate( -90deg ); } .client-js body.rtl .sidebar-toc .sidebar-toc-toggle { transform: rotate( 90deg ); } @media ( min-width: @width-breakpoint-desktop ) { .sidebar-toc { display: block; } } // T300975 following media query for TOC experiment treatment // class can be removed once associated A/B test is over. @media ( max-width: @width-breakpoint-desktop ) { .skin-vector-toc-experiment-treatment #toc { display: table; } }