.outer-wrapper { color: var(--newtab-text-primary-color); display: flex; flex-grow: 1; min-height: 100vh; padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter; &.ds-outer-wrapper-breakpoint-override { padding: 30px 0 32px; @media(min-width: $break-point-medium) { padding: 30px 32px 32px; } } &.only-search { display: block; padding-top: 134px; } a { color: var(--newtab-primary-action-background); } } main { margin: auto; width: $wrapper-default-width; padding: 0; section { margin-bottom: $section-spacing; position: relative; } .hide-main & { visibility: hidden; } @media (min-width: $break-point-medium) { width: $wrapper-max-width-medium; } @media (min-width: $break-point-large) { width: $wrapper-max-width-large; } @media (min-width: $break-point-widest) { width: $wrapper-max-width-widest; } &.has-snippet { // Offset the snippets container so things at the bottom of the page are still // visible when snippets are visible. Adjust for other spacing. padding-bottom: $snippets-container-height - $section-spacing - $base-gutter; } } .below-search-snippet.withButton { margin: auto; width: 100%; } .ds-outer-wrapper-search-alignment { main { // This override is to ensure while Discovery Stream loads, // the search bar does not jump around. (it sticks to the top) margin: 0 auto; } } .ds-outer-wrapper-breakpoint-override { main { width: 266px; padding-bottom: 0; @media (min-width: $break-point-medium) { width: 510px; } @media (min-width: $break-point-large) { width: 746px; } @media (min-width: $break-point-widest) { width: 986px; } &.has-snippet { // Offset the snippets container so things at the bottom of the page are still // visible when snippets are visible. Adjust for other spacing. padding-bottom: $snippets-container-height - $section-spacing - $base-gutter; } } } .base-content-fallback { // Make the error message be centered against the viewport height: 100vh; } .body-wrapper { // Hide certain elements so the page structure is fixed, e.g., placeholders, // while avoiding flashes of changing content, e.g., icons and text $selectors-to-hide: '.section-title, .sections-list .section:last-of-type, .topics'; #{$selectors-to-hide} { opacity: 0; } &.on { #{$selectors-to-hide} { opacity: 1; } } } .non-collapsible-section { padding: 0 $section-horizontal-padding; } .prefs-button { button { background-color: transparent; border: 0; border-radius: 2px; cursor: pointer; inset-inline-end: 15px; padding: 15px; position: fixed; top: 15px; z-index: 1000; &:hover, &:focus { background-color: var(--newtab-element-hover-color); } &:active { background-color: var(--newtab-element-active-color); } } }