--- version: 33 --- @import "variables"; *, *::before, *::after { box-sizing: border-box; } body { background: $body-background-color; color: $body-color; margin: 0; padding: 0; line-height: 1.6; font-family: $sans-font-family; font-size: $body-font-size; } a, a:visited { text-decoration: none; &:hover { color: $link-color-hover; text-decoration: none; } } table { width: 100%; border-collapse: collapse; overflow-x: auto; border: 1px solid $table-border-color; margin: 0 0 15px; word-wrap: break-word; thead { background: $thead-background-color; } tbody { tr > td { max-width: 100%; min-width: 100px; } code { word-wrap: break-word; } } td, th { text-align: left; padding: 7px 10px; border: 1px solid $table-border-color; font-size: $body-font-size; } @media all and (max-width: $mobile-width) { display: block; } } blockquote { border-width: 0; border-left: 5px solid $blockquote-border-color; background-color: $blockquote-background-color; margin: 20px 0; padding: 10px 20px; font-size: $body-font-size; .highlight { background-color: $white; } //Override bootstrap ol:last-child, p:last-child, ul:last-child { margin: inherit; } } pre { background-color: $pre-background-color; code { word-wrap: normal; word-break: normal; white-space: pre; } } hr { border: 0; border-top: 1px solid $hr-border-color; } code { color: $code-color; background-color: $code-background-color; } code, code span { font-family: $mono-font-family; } p code, li code, table code { color: $code-color; background-color: $code-background-color; } a > code { color: $link-code-color; } // Make code in headers match the font size of the given header. h2, h3, h4, h5, h6 { border-bottom: solid 1px $h-border-bottom; line-height: 1.4; code { color: $code-color; background-color: $code-background-color; } @media all and (min-width: $mobile-width) { .anchor { opacity: 0; } &:hover .anchor { opacity: 1; } } } // base fonts // p font size = $body-font-size: 15px; h1 { font-size: 30px; font-weight: 500; letter-spacing: -1px; border-bottom: solid 2px $h1-border-bottom; padding-bottom: 10px; @media (max-width: $mobile-width) { font-size: 26px; } } h2 { font-size: 28px; font-weight: 400; @media (max-width: $mobile-width) { font-size: 24px; } } h3 { font-size: 24px; font-weight: 400; @media (max-width: $mobile-width) { font-size: 22px; } } h4 { font-size: 22px; font-weight: 400; @media (max-width: $mobile-width) { font-size: 20px; } } h5 { font-size: 20px; color: $color-light-gray; font-weight: 500; border-bottom: 0; @media (max-width: $mobile-width) { font-size: 18px; } } h6 { font-size: 18px; color: $color-light-gray; font-weight: 500; border-bottom: 0; @media (max-width: $mobile-width) { font-size: 16px; } } li { ul { padding-left: 20px; } } .float-left { float: left; } .main { margin: auto; padding: 8px 40px; position: relative; width: auto; max-width: 900px; box-shadow: 0 3px 3px $main-box-shadow; background: $main-background-color; @media (max-width: $mobile-width) { padding: 5px 10px; } &:not(.has-toc) { > .doc-nav { display: none; } } a { text-decoration: none; } .edit-on { text-align: center; border-top: 1px solid $hr-border-color; padding-top: 20px; margin-top: 15px; a { color: $h1-border-bottom; &::before { content: "\f126"; font-family: FontAwesome; font-size: 14px; font-style: normal; font-weight: normal; padding-right: 5px; line-height: 10px; } &:hover { color: $color-secondary-alt; } } } // external link [href^="http://"], [href^="https://"] { &:not([href*="gitlab.com"]) { &::after { content: "\f08e"; font-family: FontAwesome; font-size: 14px; font-style: normal; font-weight: normal; padding-left: 5px; line-height: 10px; } } } p { margin: 7px 0; line-height: 22px; } ul, ol { margin: 20px 0; } li { line-height: 22px; > ul, > ol { margin-top: 0; margin-bottom: 0; } } img { max-width: calc(100% - 10px); max-height: 100vh; border: 1px solid $border-color-light; padding: 5px; margin: 5px; } footer { padding: 10px 5px; display: flex; flex-flow: row wrap; justify-content: space-between; } .breadcrumbs { font-style: italic; .last-updated { color: $color-light-gray; font-size: 13px; } } } .header { z-index: 1; background: $main-background-color; position: relative; width: 100%; padding: 0 25px; border-bottom: 1px solid $border-color; text-align: left; display: flex; justify-content: space-between; white-space: nowrap; padding-left: 40px; @media all and (max-width: $mobile-width) { height: auto; padding-left: 5px; } img { position: absolute; height: 50px; margin-left: -8px; @media all and (max-width: $mobile-width) { margin-left: -2px; } } p { font-size: 20px; color: $black; display: inline-block; padding: 10px 0; padding-left: 55px; -webkit-margin-before: 0; -webkit-margin-after: 0; margin-block-start: 0; margin-block-end: 0; } ul { text-align: right; list-style-type: none; display: inline-block; @media all and (max-width: $mobile-width) { display: none; } } @media all and (max-width: $mobile-width) { &.active { display: block; ul { display: block; text-align: left; padding: 0; width: 100%; } li { display: block; padding: 10px 0; } } } li { display: inline-block; line-height: 20px; margin: 0 10px; vertical-align: middle; } input { box-sizing: content-box; border: 1px solid $search-border; border-radius: $border-radius; background-color: $white; -webkit-appearance: none; padding: 7px 11px 7px 28px; margin: -20; width: 190px; background-image: url("<%= @items['/assets/images/icon_search.svg'].path %>"); background-repeat: no-repeat; background-size: 16px; background-position: 7px 8px; @media(max-width:1099px) { width: 130px; } } .nav-container { margin: auto 0; } .nav-toggle { display: none; @media all and (max-width: $mobile-width) { display: inline-block; position: absolute; top: 15px; right: 15px; } } // Override bootstrap .nav > li > a { padding: 0 10px; text-decoration: none; } // Override bootstrap .nav > li > a:focus, .nav > li > a:hover { text-decoration: none; background-color: transparent; } } // Styles for breadcrumbs navigation .breadcrumbs { white-space: nowrap; overflow-x: auto; padding: 0; .breadcrumb { text-overflow: ellipsis; display: inline-block; overflow-x: hidden; // Override bootstrap padding: 0; margin-bottom: 0; background-color: transparent; border-radius: 0; &:not(:last-child)::after { content: "›\00a0"; } &::after { padding: 0 4px 0 6px; } } } // Permalinks on header elements. .anchor { display: inline-block; width: 1em; height: 1em; max-height: 25px; vertical-align: middle; background: url("<%= @items['/assets/images/icon_anchor.svg'].path %>") center center / contain no-repeat; &:hover { text-decoration: none; } } // Articles layout .article-metadata { color: $article-metadata; display: block; order: -1; font-style: italic; margin-bottom: 15px; } .article-content { > h1:first-of-type { display: none; } } // Override bootstrap's alert color .alert { color: inherit; } // Home page // .landing { background-color: $landing-background; .landing-header { padding: 55px 0 150px; text-align: center; color: $white; margin-bottom: -50px; input { margin-top: 40px; border-radius: $border-radius; font-size: 20px; line-height: inherit; } img { width: 280px; } } h1 { font-size: 36px; font-weight: 300; margin-top: 20px; border-bottom: 0; a { color: $white; text-decoration: none; } } .docsearch { box-sizing: content-box; height: 35px; padding: 15px 15px 15px 40px; width: auto; border: 1px solid $search-border; background-image: url("<%= @items['/assets/images/icon_search.svg'].path %>"); background-repeat: no-repeat; background-size: 20px 20px; background-position: 12px 23px; color: $black; @media all and (min-width: $mobile-width) { min-width: 300px; } } } .topics { text-align: center; position: relative; display: flex; flex-flow: row wrap; top: -30px; max-width: 1350px; margin: auto; padding-right: 40px; li { display: inline-block; background-color: $white; border-radius: 2px; margin: 10px 10px 50px; flex: 1 0 270px; min-width: 270px; @media all and (max-width: $mobile-width) { width: 100%; min-width: auto; flex: initial; margin: 20px; } a p, a:visited p { color: $black; vertical-align: bottom; } .wrapper { padding: 0 30px 30px; @media all and (max-width: $mobile-width) { padding: 0 15px 15px; } } h2 { text-align: center; font-weight: 400; } a, a:visited { text-decoration: none; h2 { height: 50px; margin: 10px 0 25px; @media all and (max-width: $mobile-width) { height: auto; } } } } } .topic { border: 1px solid $white; &:hover { box-shadow: 5px 5px 10px $subtopic-color; border: 1px solid $subtopic-border-color; transition: all .2s ease-in-out; } h2 { color: $link-color-hover; } } .subtopic { border: 1px solid $white; &:hover { box-shadow: 5px 5px 10px $subtopic-color; border: 1px solid $subtopic-border-color; transition: all .2s ease-in-out; h2 { color: $link-color-hover; } } a { color: $subtopic-color; } h2 { font-size: 20px; text-transform: uppercase; } } .topic-ee { h2 { color: $topic-ee-header-color; } } .topic-omnibus { h2 { color: $topic-omnibus-header-color; } } .topic-runner { h2 { color: $topic-runner-header-color; } } .footnotes { li::before { display: none; } } // https://gitlab.com/gitlab-com/gitlab-docs/issues/107#note_36655246 *[id]:not(sup)::before { display: block; content: " "; margin-top: -75px; height: 75px; visibility: hidden; } // // Algolia search for mobile // https://github.com/algolia/docsearch/issues/181#issuecomment-301730219 // // Since some values are added by Javascript, we have to add the // !important option to override these values. // scss-lint:disable ImportantRule .algolia-autocomplete { // On a max-width of 768px @media (max-width: 768px) { .ds-dropdown-menu { max-width: calc(100vw - 32px) !important; min-width: calc(100vw - 32px) !important; width: calc(100vw - 32px) !important; margin-left: 16px !important; } .algolia-docsearch-suggestion--content { width: 100% !important; padding-left: 0 !important; } .algolia-docsearch-suggestion--content::before { display: none !important; } .algolia-docsearch-suggestion--subcategory-column { display: none !important; } } } // scss-lint:enable ImportantRule