@import '../../common/variables.less'; @import 'mediawiki.mixins.less'; @import '../layouts/screen.less'; @import './checkboxHack.less'; // T305069 Layout adjustments of sidebar elements: // Vertically align the left edge of sidebar elements with the visible edge of the sidebar toggle hamburger menu. @margin-start-sidebar-content: unit( 12px / @font-size-browser, em ); // 0.75em @ 16 // Default spacing separating the sidebar TOC from the main menu or viewport. @margin-top-sidebar-toc: 1.5em; // Update styling to account for TOC. .mw-sidebar, .sidebar-toc, .sidebar-toc:after { // Match styles between TOC and fade element to ensure the fade covers the correct area // This is expressed in pixels to support different font sizes since our layout is currently // expressed in pixels. See T313817. width: @width-sidebar-px; margin-left: 0; @media ( min-width: @min-width-desktop-wide ) { width: @width-sidebar-px-wide; margin-left: @margin-start-sidebar-content; } } .sidebar-toc, .sidebar-toc:after { margin-left: -@margin-start-sidebar-content; // Use margin-top to align TOC rather than grid row gap // Applies when the TOC sticky and when the main menu is both open and closed. margin-top: @margin-top-sidebar-toc; @media ( min-width: @min-width-desktop-wide ) { margin-left: 0; } } .mw-sidebar { box-sizing: border-box; // Temporary magic number, will be calculated after TOC specs are finalized padding: 12px 19px 12px 9px; background-image: none; background-color: @background-color-secondary--modern; @media ( min-width: @min-width-desktop ) { // Prevent grid row gap from affecting TOC spacing when main menu is open margin-bottom: -@grid-row-gap; } @media ( max-width: @max-width-tablet ) { // Makes the sidebar full screen at lower resolutions. width: 100%; } // Hide sidebar entirely when the checkbox is disabled @{selector-main-menu-closed} ~ .vector-sidebar-container & { display: none; } // Hide #p-navigation label #p-navigation .vector-menu-heading { display: none; } } .mw-sidebar-action { // Align with the portal heading/links // `.portal` + `.portal .body` margin: 8px @margin-end-portal 8px @margin-start-portal + @margin-start-portal-body; // Styles for SidebarAction template. .mw-sidebar-action-item { h3.mw-sidebar-action-heading { display: block; background-image: linear-gradient( to right, @border-color-portal-heading-transparent 0, @border-color-portal-heading 33%, @border-color-portal-heading 66%, @border-color-portal-heading-transparent 100% ); // Standard (Firefox 16+, IE 10+, Safari 6.1+, Chrome 26+) background-position: center bottom; background-repeat: no-repeat; background-size: 100% @border-width-base; color: @color-base--subtle; margin: 0.75em 0; border: 0; padding: 0.3em 0; font-size: @font-size-nav-main-heading; font-weight: normal; cursor: default; } .mw-sidebar-action-content { > * { font-size: @font-size-portal-list-item; } > a { font-weight: bold; } } // T295555 style overrides for temporary language switch alert (can be removed later ). .vector-language-sidebar-alert { padding: 0.75em; } } } #mw-sidebar-button { &:before { // Equals `#555`, closest to `#54595d` on background-color `#fff`. opacity: 0.67; /* @embed */ background-image: url( images/chevronHorizontal-ltr.svg ); @{selector-main-menu-closed} ~ .mw-header & { /* @embed */ background-image: url( images/menu.svg ); } } &:hover { &:before { opacity: 1; } } }