UNPKG

@primer/css

Version:

Primer is the CSS framework that powers GitHub's front-end design. primer includes 23 packages that are grouped into 3 core meta-packages for easy install. Each package and meta-package is independently versioned and distributed via npm, so it's easy to i

1 lines 28 kB
{"version":3,"sources":["../src/src/buttons/button.scss","../src/src/support/variables/typography.scss","../src/src/support/variables/color-system.scss","../src/src/support/mixins/buttons.scss","../src/src/buttons/button-group.scss","../src/src/support/mixins/layout.scss","../src/src/support/variables/layout.scss","../src/src/support/variables/misc.scss"],"names":[],"mappings":"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","file":"buttons.css","sourcesContent":["// stylelint-disable selector-max-type, block-opening-brace-space-before, no-duplicate-selectors\n\n// Base button styles\n.btn {\n position: relative;\n display: inline-block;\n padding: 6px 12px;\n font-size: $body-font-size;\n font-weight: $font-weight-bold;\n line-height: 20px; // Specifically not inherit our `<body>` default\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-repeat: repeat-x;\n background-position: -1px -1px;\n background-size: 110% 110%;\n border: 1px solid transparentize($black, 0.8);\n border-radius: 0.25em;\n appearance: none; // Corrects inability to style clickable `input` types in iOS.\n\n i {\n font-style: normal;\n font-weight: $font-weight-semibold;\n opacity: 0.75;\n }\n\n .octicon {\n vertical-align: text-top;\n }\n\n // Darken for just a tad more contrast against the button background\n .Counter {\n color: $gray-600;\n text-shadow: none;\n background-color: rgba($black, 0.1);\n }\n\n &:hover {\n text-decoration: none;\n background-repeat: repeat-x;\n }\n\n &:focus {\n outline: 0;\n }\n\n &:disabled,\n &.disabled {\n cursor: default;\n // Repeat `background-position` because `:hover`\n background-position: 0 0;\n }\n\n &:active,\n &.selected {\n background-image: none;\n }\n}\n\n.btn { @include btn-solid($text-gray-dark, $gray-000, darken($gray-100, 2%)); }\n.btn-primary { @include btn-solid($text-white, $green-400, $green-500); }\n@warn \".btn-purple will be removed in 13.0.0. Please don't make buttons purple.\";\n.btn-purple { @include btn-solid($text-white, lighten($purple-500, 5%), darken($purple-500, 5%)); }\n.btn-blue { @include btn-solid($text-white, lighten($blue-500, 8%), darken($blue-500, 2%)); }\n.btn-danger { @include btn-inverse($red-600, $gray-000, darken($gray-100, 2%)); }\n\n// Outline button\n//\n// For when we need a linky-action that's not too heavy in busier\n// areas like conversation timelines.\n.btn-outline {\n @include btn-outline($text-blue);\n}\n\n// Social button count\n.btn-with-count {\n float: left;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n// Minibutton overrides\n//\n// Tweak `line-height` to make them smaller.\n.btn-sm {\n padding: 3px 10px;\n font-size: $font-size-small;\n line-height: 20px;\n}\n\n// Large button adds more padding around text. Use font-size utils to increase font-size.. e.g, <p class=\"text-gamma\"><button class=\"btn btn-large btn-primary\" type=\"button\">Big green button</button></p>\n.btn-large {\n padding: $em-spacer-6 1.25em;\n font-size: inherit;\n border-radius: 6px;\n}\n\n// Hidden text button\n//\n// Use `.hidden-text-expander` to indicate and expand hidden text.\n.hidden-text-expander {\n display: block;\n\n &.inline {\n position: relative;\n top: -1px;\n display: inline-block;\n margin-left: 5px;\n line-height: 0;\n }\n}\n\n.hidden-text-expander a,\n.ellipsis-expander {\n display: inline-block;\n height: 12px;\n padding: 0 5px 5px;\n font-size: $font-size-small;\n font-weight: $font-weight-bold;\n line-height: 6px;\n color: $gray-700;\n text-decoration: none;\n vertical-align: middle;\n background: lighten($gray-300, 5%);\n border: 0;\n border-radius: 1px;\n\n &:hover {\n text-decoration: none;\n background-color: darken($gray-300, 4%);\n }\n\n &:active {\n color: $text-white;\n background-color: $blue-400;\n }\n}\n\n// Social count bubble\n//\n// A container that is used for social bubbles counts.\n.social-count {\n float: left;\n padding: 3px 10px;\n font-size: $font-size-small;\n font-weight: $font-weight-bold;\n line-height: 20px;\n color: $text-gray-dark;\n vertical-align: middle;\n background-color: $bg-white;\n border: 1px solid transparentize($black, 0.8); // match with .btn\n border-left: 0;\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n\n &:hover,\n &:active {\n text-decoration: none;\n }\n\n &:hover {\n color: $text-blue;\n cursor: pointer;\n }\n}\n\n// Full-width button\n//\n// These buttons expand to the full width of their parent container\n.btn-block {\n display: block;\n width: 100%;\n text-align: center;\n}\n\n// Link-like buttons\n//\n// This class is for styling <button> and <input> elements to look like links\n.btn-link {\n display: inline-block;\n padding: 0;\n font-size: inherit;\n color: $text-blue;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 0;\n appearance: none; // Corrects inability to style clickable `input` types in iOS.\n\n &:hover {\n text-decoration: underline;\n }\n\n &:disabled {\n &,\n &:hover {\n color: rgba($gray-600, 0.5);\n cursor: default;\n }\n }\n}\n\n.details-reset {\n // Remove marker added by the display: list-item browser default\n > summary { list-style: none; }\n // Remove marker added by details polyfill\n > summary::before { display: none; }\n // Remove marker added by Chrome\n > summary::-webkit-details-marker { display: none; }\n}\n","// Typography variables\n// stylelint-disable declaration-bang-space-before\n\n// Heading sizes - mobile\n// h4—h6 remain the same size on both mobile & desktop\n$h00-size-mobile: 40px !default;\n$h0-size-mobile: 32px !default;\n$h1-size-mobile: 26px !default;\n$h2-size-mobile: 22px !default;\n$h3-size-mobile: 18px !default;\n\n// Heading sizes - desktop\n$h00-size: 48px !default;\n$h0-size: 40px !default;\n$h1-size: 32px !default;\n$h2-size: 24px !default;\n$h3-size: 20px !default;\n$h4-size: 16px !default;\n$h5-size: 14px !default;\n$h6-size: 12px !default;\n\n$font-size-small: 12px !default;\n\n// Font weights\n$font-weight-bold: 600 !default;\n$font-weight-semibold: 500 !default;\n$font-weight-normal: 400 !default;\n$font-weight-light: 300 !default;\n\n// Line heights\n$lh-condensed-ultra: 1 !default;\n$lh-condensed: 1.25 !default;\n$lh-default: 1.5 !default;\n\n// Font stacks\n$body-font: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n\n// Monospace font stack\n$mono-font: \"SFMono-Regular\", Consolas, \"Liberation Mono\", Menlo, monospace !default;\n\n// The base body size\n$body-font-size: 14px !default;\n$body-line-height: $lh-default !default;\n","//\n//\n// -------- Grays --------\n$gray-000: #fafbfc !default;\n$gray-100: #f6f8fa !default;\n$gray-200: #e1e4e8 !default;\n$gray-300: #d1d5da !default;\n$gray-400: #959da5 !default;\n$gray-500: #6a737d !default;\n$gray-600: #586069 !default;\n$gray-700: #444d56 !default;\n$gray-800: #2f363d !default;\n$gray-900: #24292e !default; // body font color\n\n// -------- Blue --------\n$blue-000: #f1f8ff !default;\n$blue-100: #dbedff !default;\n$blue-200: #c8e1ff !default;\n$blue-300: #79b8ff !default;\n$blue-400: #2188ff !default;\n$blue-500: #0366d6 !default; // Default: Passes AA with #fff\n$blue-600: #005cc5 !default;\n$blue-700: #044289 !default;\n$blue-800: #032f62 !default;\n$blue-900: #05264c !default; // Passes with 1/2/300 blues\n\n// -------- Green --------\n$green-000: #f0fff4 !default;\n$green-100: #dcffe4 !default;\n$green-200: #bef5cb !default;\n$green-300: #85e89d !default;\n$green-400: #34d058 !default;\n$green-500: #28a745 !default; // Default. passes AA Large\n$green-600: #22863a !default; // Text green, passes AA on #fff\n$green-700: #176f2c !default;\n$green-800: #165c26 !default;\n$green-900: #144620 !default;\n\n// -------- Yellow --------\n$yellow-000: #fffdef !default;\n$yellow-100: #fffbdd !default;\n$yellow-200: #fff5b1 !default;\n$yellow-300: #ffea7f !default;\n$yellow-400: #ffdf5d !default;\n$yellow-500: #ffd33d !default;\n$yellow-600: #f9c513 !default;\n$yellow-700: #dbab09 !default;\n$yellow-800: #b08800 !default;\n$yellow-900: #735c0f !default;\n\n// -------- Orange --------\n$orange-000: #fff8f2 !default;\n$orange-100: #ffebda !default;\n$orange-200: #ffd1ac !default;\n$orange-300: #ffab70 !default;\n$orange-400: #fb8532 !default;\n$orange-500: #f66a0a !default; // Default. passes AA Large with #fff\n$orange-600: #e36209 !default;\n$orange-700: #d15704 !default;\n$orange-800: #c24e00 !default;\n$orange-900: #a04100 !default;\n\n// -------- Red --------\n$red-000: #ffeef0 !default;\n$red-100: #ffdce0 !default;\n$red-200: #fdaeb7 !default;\n$red-300: #f97583 !default;\n$red-400: #ea4a5a !default;\n$red-500: #d73a49 !default; // Default. passes AA\n$red-600: #cb2431 !default;\n$red-700: #b31d28 !default;\n$red-800: #9e1c23 !default;\n$red-900: #86181d !default;\n\n// -------- Purple --------\n$purple-000: #f5f0ff !default;\n$purple-100: #e6dcfd !default;\n$purple-200: #d1bcf9 !default;\n$purple-300: #b392f0 !default;\n$purple-400: #8a63d2 !default;\n$purple-500: #6f42c1 !default; // passes AA with #fff\n$purple-600: #5a32a3 !default;\n$purple-700: #4c2889 !default;\n$purple-800: #3a1d6e !default;\n$purple-900: #29134e !default;\n\n// -------- Pink --------\n$pink-000: #ffeef8 !default;\n$pink-100: #fedbf0 !default;\n$pink-200: #f9b3dd !default;\n$pink-300: #f692ce !default;\n$pink-400: #ec6cb9 !default;\n$pink-500: #ea4aaa !default;\n$pink-600: #d03592 !default;\n$pink-700: #b93a86 !default;\n$pink-800: #99306f !default;\n$pink-900: #6d224f !default;\n\n// -------- Fades --------\n// Black based on same hue as $gray-900\n$black: #1b1f23 !default;\n$white: #fff !default;\n\n$black-fade-15: rgba($black, 0.15) !default;\n$black-fade-30: rgba($black, 0.3) !default;\n$black-fade-50: rgba($black, 0.5) !default;\n$black-fade-70: rgba($black, 0.7) !default;\n$black-fade-85: rgba($black, 0.85) !default;\n\n$white-fade-15: rgba($white, 0.15) !default;\n$white-fade-30: rgba($white, 0.3) !default;\n$white-fade-50: rgba($white, 0.5) !default;\n$white-fade-70: rgba($white, 0.7) !default;\n$white-fade-85: rgba($white, 0.85) !default;\n\n// -------- Color defaults --------\n$red: $red-500 !default;\n$purple: $purple-500 !default;\n$blue: $blue-500 !default;\n$green: $green-500 !default;\n$yellow: $yellow-500 !default;\n$orange: $orange-500 !default;\n\n$gray-dark: $gray-900 !default;\n$gray-light: $gray-400 !default;\n$gray: $gray-500 !default;\n\n// -------- Color gradient maps --------\n\n$grays: (\n 0: $gray-000,\n 1: $gray-100,\n 2: $gray-200,\n 3: $gray-300,\n 4: $gray-400,\n 5: $gray-500,\n 6: $gray-600,\n 7: $gray-700,\n 8: $gray-800,\n 9: $gray-900,\n) !default;\n\n$blues: (\n 0: $blue-000,\n 1: $blue-100,\n 2: $blue-200,\n 3: $blue-300,\n 4: $blue-400,\n 5: $blue-500,\n 6: $blue-600,\n 7: $blue-700,\n 8: $blue-800,\n 9: $blue-900,\n) !default;\n\n$greens: (\n 0: $green-000,\n 1: $green-100,\n 2: $green-200,\n 3: $green-300,\n 4: $green-400,\n 5: $green-500,\n 6: $green-600,\n 7: $green-700,\n 8: $green-800,\n 9: $green-900,\n) !default;\n\n$yellows: (\n 0: $yellow-000,\n 1: $yellow-100,\n 2: $yellow-200,\n 3: $yellow-300,\n 4: $yellow-400,\n 5: $yellow-500,\n 6: $yellow-600,\n 7: $yellow-700,\n 8: $yellow-800,\n 9: $yellow-900,\n) !default;\n\n$oranges: (\n 0: $orange-000,\n 1: $orange-100,\n 2: $orange-200,\n 3: $orange-300,\n 4: $orange-400,\n 5: $orange-500,\n 6: $orange-600,\n 7: $orange-700,\n 8: $orange-800,\n 9: $orange-900,\n) !default;\n\n$reds: (\n 0: $red-000,\n 1: $red-100,\n 2: $red-200,\n 3: $red-300,\n 4: $red-400,\n 5: $red-500,\n 6: $red-600,\n 7: $red-700,\n 8: $red-800,\n 9: $red-900,\n) !default;\n\n$purples: (\n 0: $purple-000,\n 1: $purple-100,\n 2: $purple-200,\n 3: $purple-300,\n 4: $purple-400,\n 5: $purple-500,\n 6: $purple-600,\n 7: $purple-700,\n 8: $purple-800,\n 9: $purple-900,\n) !default;\n\n$pinks: (\n 0: $pink-000,\n 1: $pink-100,\n 2: $pink-200,\n 3: $pink-300,\n 4: $pink-400,\n 5: $pink-500,\n 6: $pink-600,\n 7: $pink-700,\n 8: $pink-800,\n 9: $pink-900,\n) !default;\n\n$hue-maps: (\n \"gray\": $grays,\n \"blue\": $blues,\n \"green\": $greens,\n \"yellow\": $yellows,\n \"orange\": $oranges,\n \"red\": $reds,\n \"purple\": $purples,\n \"pink\": $pinks,\n) !default;\n","// stylelint-disable block-closing-brace-newline-after\n\n// Button color generator for primary and themed buttons\n\n// New button hotness\n@mixin btn-solid($color, $bg, $bg2) {\n color: $color;\n background-color: $bg2;\n background-image: linear-gradient(-180deg, $bg 0%, $bg2 90%);\n\n @if $bg == $gray-000 {\n &:focus,\n &.focus {\n box-shadow: $btn-input-focus-shadow;\n }\n\n &:hover,\n &.hover {\n background-color: darken($bg2, 3%);\n background-image: linear-gradient(-180deg, darken($bg, 3%) 0%, darken($bg2, 3%) 90%);\n background-position: 0 -$em-spacer-5;\n border-color: rgba($black, 0.35);\n }\n\n &:active,\n &.selected,\n [open] > & {\n background-color: darken(desaturate($bg, 10%), 6%);\n background-image: none;\n border-color: rgba($black, 0.35); // repeat to avoid shift on click-drag off of button\n box-shadow: $btn-active-shadow;\n }\n\n &:disabled,\n &.disabled {\n color: rgba($color, 0.4);\n background-color: $bg2;\n background-image: none;\n border-color: transparentize($black, 0.8); // back to default .btn\n box-shadow: none;\n }\n\n } @else {\n &:focus,\n &.focus {\n box-shadow: 0 0 0 0.2em rgba($bg, 0.4);\n }\n\n &:hover,\n &.hover {\n background-color: darken($bg2, 2%);\n background-image: linear-gradient(-180deg, darken($bg, 2%) 0%, darken($bg2, 2%) 90%);\n background-position: 0 -$em-spacer-5;\n border-color: $black-fade-50;\n }\n\n &:active,\n &.selected,\n [open] > & {\n background-color: darken(mix($bg, $bg2, 50%), 7%);\n background-image: none;\n border-color: $black-fade-50; // repeat to avoid shift on click-drag off of button\n box-shadow: $btn-active-shadow;\n }\n\n &:disabled,\n &.disabled {\n color: rgba($color, 0.75);\n background-color: mix($bg2, $white, 50%);\n background-image: none;\n border-color: transparentize($black, 0.8); // repeat .btn default to avoid shift on click-drag off of button\n box-shadow: none;\n }\n\n .Counter {\n color: darken($bg, 8%);\n background-color: $white;\n }\n }\n}\n\n// Inverse button hover style\n@mixin btn-inverse($color, $bg, $bg2) {\n color: $color;\n background-color: $bg;\n background-image: linear-gradient(-180deg, $bg 0%, $bg2 90%);\n\n &:focus {\n box-shadow: 0 0 0 0.2em rgba($color, 0.4);\n }\n\n &:hover {\n color: $text-white;\n background-color: $color;\n background-image: linear-gradient(-180deg, lighten($color, 10%) 0%, $color 90%);\n border-color: $black-fade-50;\n\n .Counter {\n color: $text-white;\n }\n }\n\n &:active,\n &.selected,\n [open] > & {\n color: $text-white;\n background-color: darken($color, 5%);\n background-image: none;\n border-color: $black-fade-50;\n box-shadow: $btn-active-shadow;\n }\n\n &:disabled,\n &.disabled {\n color: rgba($color, 0.4);\n background-color: $bg2;\n background-image: none;\n border-color: transparentize($black, 0.8); // back to default .btn\n box-shadow: none;\n }\n}\n\n// Outline color generator for btn-outline to make the hover state inverse the text and bg colors.\n@mixin btn-outline($text-color: $text-blue, $bg-color: $bg-white) {\n color: $text-color;\n background-color: $bg-color;\n background-image: none;\n\n .Counter {\n background-color: rgba($black, 0.07);\n }\n\n &:hover,\n &:active,\n &.selected,\n [open] > & {\n color: $bg-color;\n background-color: $text-color;\n background-image: none;\n border-color: $text-color;\n\n .Counter {\n color: $text-color;\n background-color: $bg-color;\n }\n }\n\n &:focus {\n border-color: $text-color;\n box-shadow: 0 0 0 0.2em rgba($text-color, 0.4);\n }\n\n &:disabled,\n &.disabled {\n color: $black-fade-30;\n background-color: $bg-white;\n border-color: $black-fade-15;\n box-shadow: none;\n }\n}\n","// Button group\n//\n// A button group is a series of buttons laid out next to each other, all part\n// of one visual button, but separated by rules to be separate.\n\n.BtnGroup {\n display: inline-block;\n vertical-align: middle;\n @include clearfix();\n\n // Proper spacing for multiple button groups (a la, gollum editor)\n + .BtnGroup,\n + .btn {\n margin-left: $spacer-1;\n }\n}\n\n.BtnGroup-item {\n position: relative;\n float: left;\n border-right-width: 0;\n border-radius: 0;\n\n &:first-child {\n border-top-left-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n }\n\n &:last-child {\n border-right-width: $border-width;\n border-top-right-radius: $border-radius;\n border-bottom-right-radius: $border-radius;\n }\n\n &.selected,\n &:focus,\n &:active,\n &:hover {\n border-right-width: $border-width;\n\n + .BtnGroup-item,\n + .BtnGroup-parent .BtnGroup-item {\n border-left-width: 0;\n }\n }\n}\n\n.BtnGroup-parent {\n float: left;\n\n &:first-child .BtnGroup-item {\n border-top-left-radius: $border-radius;\n border-bottom-left-radius: $border-radius;\n }\n\n &:last-child .BtnGroup-item {\n border-right-width: $border-width;\n border-top-right-radius: $border-radius;\n border-bottom-right-radius: $border-radius;\n }\n\n .BtnGroup-item {\n border-right-width: 0;\n border-radius: 0;\n }\n\n &.selected,\n &:focus,\n &:active,\n &:hover {\n .BtnGroup-item {\n border-right-width: $border-width;\n }\n\n + .BtnGroup-item,\n + .BtnGroup-parent .BtnGroup-item {\n border-left-width: 0;\n }\n }\n}\n\n// ensure that the focus ring sits above the adjacent buttons\n.BtnGroup-item,\n.BtnGroup-parent {\n &:focus,\n &:active {\n z-index: 1;\n }\n}\n","// Responsive media queries\n\n@mixin breakpoint($breakpoint) {\n @if $breakpoint == \"\" {\n @content;\n }\n\n @else {\n // Retrieves the value from the key\n $value: map-get($breakpoints, $breakpoint);\n\n // If the key exists in the map\n @if $value != null {\n // Prints a media query based on the value\n @media (min-width: $value) {\n @content;\n }\n }\n\n // If the key doesn't exist in the map\n @else {\n @warn \"Unfortunately, no value could be retrieved from `#{$breakpoint}`. \"\n + \"Please make sure it is defined in `$breakpoints` map.\";\n }\n }\n}\n\n// Retina media query\n\n@mixin retina-media-query {\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and (min--moz-device-pixel-ratio: 2),\n only screen and (-moz-min-device-pixel-ratio: 2),\n only screen and (-o-min-device-pixel-ratio: 2/1),\n only screen and (min-device-pixel-ratio: 2),\n only screen and (min-resolution: 192dpi),\n only screen and (min-resolution: 2dppx) {\n @content;\n }\n}\n\n// Clearfix\n//\n// Clears floats via mixin.\n\n@mixin clearfix {\n &::before {\n display: table;\n content: \"\";\n }\n\n &::after {\n display: table;\n clear: both;\n content: \"\";\n }\n}\n","// Layout variables\n// stylelint-disable declaration-bang-space-before\n\n// These are our margin and padding utility spacers. The default step size we\n// use is 8px. This gives us a key of:\n// 0 => 0px\n// 1 => 4px\n// 2 => 8px\n// 3 => 16px\n// 4 => 24px\n// 5 => 32px\n// 6 => 40px\n$spacer: 8px !default;\n\n// Our spacing scale\n$spacer-0: 0 !default; // 0\n$spacer-1: round($spacer / 2) !default; // 4px\n$spacer-2: $spacer !default; // 8px\n$spacer-3: $spacer * 2 !default; // 16px\n$spacer-4: $spacer * 3 !default; // 24px\n$spacer-5: $spacer * 4 !default; // 32px\n$spacer-6: $spacer * 5 !default; // 40px\n\n// The list of spacer values\n$spacers: (\n $spacer-0,\n $spacer-1,\n $spacer-2,\n $spacer-3,\n $spacer-4,\n $spacer-5,\n $spacer-6,\n) !default;\n\n// And the map of spacers, for easier looping:\n// @each $scale, $length in $spacer-map { ... }\n$spacer-map: (\n 0: $spacer-0,\n 1: $spacer-1,\n 2: $spacer-2,\n 3: $spacer-3,\n 4: $spacer-4,\n 5: $spacer-5,\n 6: $spacer-6,\n) !default;\n\n// Em spacer variables\n$em-spacer-1: 0.0625em !default; // 1/16\n$em-spacer-2: 0.125em !default; // 1/8\n$em-spacer-3: 0.25em !default; // 1/4\n$em-spacer-4: 0.375em !default; // 3/8\n$em-spacer-5: 0.5em !default; // 1/2\n$em-spacer-6: 0.75em !default; // 3/4\n\n// Fixed-width container variables\n$container-width: 980px !default;\n$grid-gutter: 10px !default;\n\n// Breakpoint widths\n$width-xs: 0 !default;\n// Small screen / phone\n$width-sm: 544px !default;\n// Medium screen / tablet\n$width-md: 768px !default;\n// Large screen / desktop (980 + (16 * 2)) <= container + gutters\n$width-lg: 1012px !default;\n// Extra large screen / wide desktop\n$width-xl: 1280px !default;\n\n// Responsive container widths\n$container-sm: $width-sm !default;\n$container-md: $width-md !default;\n$container-lg: $width-lg !default;\n$container-xl: $width-xl !default;\n\n// Breakpoints in the form (name: length)\n$breakpoints: (\n sm: $width-sm,\n md: $width-md,\n lg: $width-lg,\n xl: $width-xl\n) !default;\n\n// This map in the form (breakpoint: variant) is used to iterate over\n// breakpoints and create both responsive and non-responsive classes in one\n// loop:\n//\n// ```scss\n// @each $breakpoint, $variant of $responsive-variants {\n// @include breakpoint($breakpoint) {\n// .foo#{$variant}-bar { foo: bar !important; }\n// }\n// }\n// ```\n$responsive-variants: (\n \"\": \"\",\n sm: \"-sm\",\n md: \"-md\",\n lg: \"-lg\",\n xl: \"-xl\",\n) !default;\n\n// responive utility position values\n$responsive-positions: (\n static,\n relative,\n absolute,\n fixed\n) !default;\n","// Miscellaneous variables\n// stylelint-disable declaration-bang-space-before\n\n// Border size\n$border-width: 1px !default;\n$border-color: $border-gray !default;\n$border-style: solid !default;\n$border: $border-width $border-color $border-style !default;\n$border-radius: 3px !default;\n\n// Custom explore grid border\n$exploregrid-item-border-radius: 4px;\n\n// Box shadow\n$box-shadow: 0 1px 1px rgba($black, 0.1) !default;\n$box-shadow-medium: 0 1px 5px $black-fade-15 !default;\n$box-shadow-large: 0 1px 15px $black-fade-15 !default;\n$box-shadow-extra-large: 0 10px 50px rgba($black, 0.07) !default;\n\n// Tooltips\n$tooltip-max-width: 250px !default;\n$tooltip-background-color: $black;\n$tooltip-text-color: $white !default;\n$tooltip-delay: 0.4s !default;\n$tooltip-duration: 0.1s !default;\n\n// Should be moved into custom github css\n$stats-switcher-py: 10px;\n// Future proof this `height` value by finding the computed line-height, then\n// adding the total value of the vertical padding. This var is used to toggle\n// between the stats bar and language breakdown.\n$stats-viewport-height: ($body-font-size * $body-line-height) + ($stats-switcher-py * 2);\n\n$min_tab_size: 1;\n$max_tab_size: 12;\n\n// Button and form variables\n$form-control-shadow: inset 0 1px 2px rgba($black, 0.075);\n$btn-input-focus-shadow: 0 0 0 0.2em rgba($blue, 0.3);\n$btn-active-shadow: inset 0 0.15em 0.3em $black-fade-15;\n"]}