_variables.less 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119
  1. // Variables
  2. //
  3. // Variables should follow the `@component-state-property-size` formula for
  4. // consistent naming. Ex: @nav-link-disabled-color and @modal-content-box-shadow-xs.
  5. // Color system
  6. @white: #fff;
  7. @gray-100: #f8f9fa;
  8. @gray-200: #e9ecef;
  9. @gray-300: #dee2e6;
  10. @gray-400: #ced4da;
  11. @gray-500: #adb5bd;
  12. @gray-600: #6c757d;
  13. @gray-700: #495057;
  14. @gray-800: #343a40;
  15. @gray-900: #212529;
  16. @black: #000;
  17. @grays: {
  18. 100: @gray-100;
  19. 200: @gray-200;
  20. 300: @gray-300;
  21. 400: @gray-400;
  22. 500: @gray-500;
  23. 600: @gray-600;
  24. 700: @gray-700;
  25. 800: @gray-800;
  26. 900: @gray-900;
  27. };
  28. @blue: #007bff;
  29. @indigo: #6610f2;
  30. @purple: #6f42c1;
  31. @pink: #e83e8c;
  32. @red: #dc3545;
  33. @orange: #fd7e14;
  34. @yellow: #ffc107;
  35. @green: #28a745;
  36. @teal: #20c997;
  37. @cyan: #17a2b8;
  38. @colors: {
  39. blue: @blue;
  40. indigo: @indigo;
  41. purple: @purple;
  42. pink: @pink;
  43. red: @red;
  44. orange: @orange;
  45. yellow: @yellow;
  46. green: @green;
  47. teal: @teal;
  48. cyan: @cyan;
  49. white: @white;
  50. gray: @gray-600;
  51. gray-dark: @gray-800;
  52. };
  53. @primary: @blue;
  54. @secondary: @gray-600;
  55. @success: @green;
  56. @info: @cyan;
  57. @warning: @yellow;
  58. @danger: @red;
  59. @light: @gray-100;
  60. @dark: @gray-800;
  61. @theme-colors: {
  62. primary: @primary;
  63. secondary: @secondary;
  64. success: @success;
  65. info: @info;
  66. warning: @warning;
  67. danger: @danger;
  68. light: @light;
  69. dark: @dark;
  70. };
  71. // Set a specific jump point for requesting color jumps
  72. @theme-color-interval: 8%;
  73. // The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255.
  74. @yiq-contrasted-threshold: 150;
  75. // Customize the light and dark text colors for use in our YIQ color contrast function.
  76. @yiq-text-dark: @gray-900;
  77. @yiq-text-light: @white;
  78. // Characters which are escaped by the escape-svg function
  79. // LESS PORT: Because of the unconventional use of special characters here, the value of this
  80. // variable is considered to be a whole string -- not a ruleset!
  81. @escaped-characters: {
  82. <: %3c;
  83. >: %3e;
  84. #: %23;
  85. (: %28;
  86. ): %29;
  87. };
  88. // Options
  89. //
  90. // Quickly modify global styling by enabling or disabling optional features.
  91. // LESS PORT: Note that `false` has no actual meaning in Less, but in this case it has the desired
  92. // effect (of disabling a feature) only because it’s not `true`, which is what Less cares about.
  93. @enable-caret: true;
  94. @enable-rounded: true;
  95. @enable-shadows: false;
  96. @enable-gradients: false;
  97. @enable-transitions: true;
  98. @enable-prefers-reduced-motion-media-query: true;
  99. @enable-hover-media-query: false; // Deprecated, no longer affects any compiled CSS
  100. @enable-grid-classes: true;
  101. @enable-pointer-cursor-for-buttons: true;
  102. @enable-print-styles: true;
  103. @enable-responsive-font-sizes: false;
  104. @enable-validation-icons: true;
  105. @enable-deprecation-messages: true;
  106. // Spacing
  107. //
  108. // Control the default styling of most Bootstrap elements by modifying these
  109. // variables. Mostly focused on spacing.
  110. // You can add more entries to the @spacers map, should you need more variation.
  111. @spacer: 1rem;
  112. @spacers: {
  113. 0: 0;
  114. 1: (@spacer * 0.25);
  115. 2: (@spacer * 0.5);
  116. 3: @spacer;
  117. 4: (@spacer * 1.5);
  118. 5: (@spacer * 3);
  119. };
  120. // This variable affects the `.h-*` and `.w-*` classes.
  121. @sizes: {
  122. 25: 25%;
  123. 50: 50%;
  124. 75: 75%;
  125. 100: 100%;
  126. auto: auto;
  127. };
  128. // Body
  129. //
  130. // Settings for the `<body>` element.
  131. @body-bg: @white;
  132. @body-color: @gray-900;
  133. // Links
  134. //
  135. // Style anchor elements.
  136. @link-color: theme-color(primary);
  137. @link-decoration: none;
  138. @link-hover-color: darken(@link-color, 15%);
  139. @link-hover-decoration: underline;
  140. // Darken percentage for links with `.text-*` class (e.g. `.text-success`)
  141. @emphasized-link-hover-darken-percentage: 15%;
  142. // Paragraphs
  143. //
  144. // Style p element.
  145. @paragraph-margin-bottom: 1rem;
  146. // Grid breakpoints
  147. //
  148. // Define the minimum dimensions at which your layout will change,
  149. // adapting to different screen sizes, for use in media queries.
  150. @grid-breakpoints: {
  151. xs: 0;
  152. sm: 576px;
  153. md: 768px;
  154. lg: 992px;
  155. xl: 1200px;
  156. };
  157. //@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
  158. //@include _assert-starts-at-zero($grid-breakpoints);
  159. // Grid containers
  160. //
  161. // Define the maximum width of `.container` for different screen sizes.
  162. @container-max-widths: {
  163. sm: 540px;
  164. md: 720px;
  165. lg: 960px;
  166. xl: 1140px;
  167. };
  168. //@include _assert-ascending($container-max-widths, "$container-max-widths");
  169. // Grid columns
  170. //
  171. // Set the number of columns and specify the width of the gutters.
  172. @grid-columns: 12;
  173. @grid-gutter-width: 30px;
  174. @grid-row-columns: 6;
  175. // Components
  176. //
  177. // Define common padding and border radius sizes and more.
  178. @line-height-lg: 1.5;
  179. @line-height-sm: 1.5;
  180. @border-width: 1px;
  181. @border-color: @gray-300;
  182. @border-radius: 0.25rem;
  183. @border-radius-lg: 0.3rem;
  184. @border-radius-sm: 0.2rem;
  185. @rounded-pill: 50rem;
  186. @box-shadow-sm: 0 0.125rem 0.25rem fade(@black, 7.5%);
  187. @box-shadow: 0 0.5rem 1rem fade(@black, 15%);
  188. @box-shadow-lg: 0 1rem 3rem fade(@black, 17.5%);
  189. @component-active-color: @white;
  190. @component-active-bg: theme-color(primary);
  191. @caret-width: 0.3em;
  192. @caret-vertical-align: (@caret-width * 0.85);
  193. @caret-spacing: (@caret-width * 0.85);
  194. @transition-base: all 0.2s ease-in-out;
  195. @transition-fade: opacity 0.15s linear;
  196. @transition-collapse: height 0.35s ease;
  197. // LESS PORT: No `join()` to extend the list here. The variable can just be overridden if different/
  198. // additional values are desired.
  199. @embed-responsive-aspect-ratios:
  200. 21 9,
  201. 16 9,
  202. 4 3,
  203. 1 1;
  204. // Typography
  205. //
  206. // Font, line-height, and color for body text, headings, and more.
  207. @font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  208. @font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  209. @font-family-base: @font-family-sans-serif;
  210. @font-size-base: 1rem; // Assumes the browser default, typically `16px`
  211. @font-size-lg: (@font-size-base * 1.25);
  212. @font-size-sm: (@font-size-base * 0.875);
  213. @font-weight-lighter: lighter;
  214. @font-weight-light: 300;
  215. @font-weight-normal: 400;
  216. @font-weight-bold: 700;
  217. @font-weight-bolder: bolder;
  218. @font-weight-base: @font-weight-normal;
  219. @line-height-base: 1.5;
  220. @h1-font-size: (@font-size-base * 2.5);
  221. @h2-font-size: (@font-size-base * 2);
  222. @h3-font-size: (@font-size-base * 1.75);
  223. @h4-font-size: (@font-size-base * 1.5);
  224. @h5-font-size: (@font-size-base * 1.25);
  225. @h6-font-size: @font-size-base;
  226. @headings-margin-bottom: (@spacer / 2);
  227. @headings-font-family: ~""; // LESS PORT: Sass version uses `null`
  228. @headings-font-weight: 500;
  229. @headings-line-height: 1.2;
  230. @headings-color: ~""; // LESS PORT: Sass version uses `null`
  231. @display1-size: 6rem;
  232. @display2-size: 5.5rem;
  233. @display3-size: 4.5rem;
  234. @display4-size: 3.5rem;
  235. @display1-weight: 300;
  236. @display2-weight: 300;
  237. @display3-weight: 300;
  238. @display4-weight: 300;
  239. @display-line-height: @headings-line-height;
  240. @lead-font-size: (@font-size-base * 1.25);
  241. @lead-font-weight: 300;
  242. @small-font-size: 80%;
  243. @text-muted: @gray-600;
  244. @blockquote-small-color: @gray-600;
  245. @blockquote-small-font-size: @small-font-size;
  246. @blockquote-font-size: (@font-size-base * 1.25);
  247. @hr-border-color: fade(@black, 10%);
  248. @hr-border-width: @border-width;
  249. @mark-padding: 0.2em;
  250. @dt-font-weight: @font-weight-bold;
  251. @kbd-box-shadow: inset 0 -0.1rem 0 fade(@black, 25%);
  252. @nested-kbd-font-weight: @font-weight-bold;
  253. @list-inline-padding: 0.5rem;
  254. @mark-bg: #fcf8e3;
  255. @hr-margin-y: @spacer;
  256. // Tables
  257. //
  258. // Customizes the `.table` component with basic values, each used across all table variations.
  259. @table-cell-padding: 0.75rem;
  260. @table-cell-padding-sm: 0.3rem;
  261. @table-color: @body-color;
  262. @table-bg: ~""; // LESS PORT: Sass version uses `null`
  263. @table-accent-bg: fade(@black, 5%);
  264. @table-hover-color: @table-color;
  265. @table-hover-bg: fade(@black, 7.5%);
  266. @table-active-bg: @table-hover-bg;
  267. @table-border-width: @border-width;
  268. @table-border-color: @border-color;
  269. @table-head-bg: @gray-200;
  270. @table-head-color: @gray-700;
  271. @table-th-font-weight: ~""; // LESS PORT: Sass version uses `null`
  272. @table-dark-color: @white;
  273. @table-dark-bg: @gray-800;
  274. @table-dark-accent-bg: fade(@white, 5%);
  275. @table-dark-hover-color: @table-dark-color;
  276. @table-dark-hover-bg: fade(@white, 7.5%);
  277. @table-dark-border-color: lighten(@table-dark-bg, 7.5%);
  278. @table-striped-order: odd;
  279. @table-caption-color: @text-muted;
  280. @table-bg-level: -9;
  281. @table-border-level: -6;
  282. // Buttons + Forms
  283. //
  284. // Shared variables that are reassigned to `@input-` and `@btn-` specific variables.
  285. @input-btn-padding-y: 0.375rem;
  286. @input-btn-padding-x: 0.75rem;
  287. @input-btn-font-family: ~""; // LESS PORT: Sass version uses `null`
  288. @input-btn-font-size: @font-size-base;
  289. @input-btn-line-height: @line-height-base;
  290. @input-btn-focus-width: 0.2rem;
  291. @input-btn-focus-color: fade(@component-active-bg, 25%);
  292. @input-btn-focus-box-shadow: 0 0 0 @input-btn-focus-width @input-btn-focus-color;
  293. @input-btn-padding-y-sm: 0.25rem;
  294. @input-btn-padding-x-sm: 0.5rem;
  295. @input-btn-font-size-sm: @font-size-sm;
  296. @input-btn-line-height-sm: @line-height-sm;
  297. @input-btn-padding-y-lg: 0.5rem;
  298. @input-btn-padding-x-lg: 1rem;
  299. @input-btn-font-size-lg: @font-size-lg;
  300. @input-btn-line-height-lg: @line-height-lg;
  301. @input-btn-border-width: @border-width;
  302. // Buttons
  303. //
  304. // For each of Bootstrap's buttons, define text, background, and border color.
  305. @btn-padding-y: @input-btn-padding-y;
  306. @btn-padding-x: @input-btn-padding-x;
  307. @btn-font-family: @input-btn-font-family;
  308. @btn-font-size: @input-btn-font-size;
  309. @btn-line-height: @input-btn-line-height;
  310. @btn-white-space: ~""; // Set to `nowrap` to prevent text wrapping // LESS PORT: Sass version uses `null`
  311. @btn-padding-y-sm: @input-btn-padding-y-sm;
  312. @btn-padding-x-sm: @input-btn-padding-x-sm;
  313. @btn-font-size-sm: @input-btn-font-size-sm;
  314. @btn-line-height-sm: @input-btn-line-height-sm;
  315. @btn-padding-y-lg: @input-btn-padding-y-lg;
  316. @btn-padding-x-lg: @input-btn-padding-x-lg;
  317. @btn-font-size-lg: @input-btn-font-size-lg;
  318. @btn-line-height-lg: @input-btn-line-height-lg;
  319. @btn-border-width: @input-btn-border-width;
  320. @btn-font-weight: @font-weight-normal;
  321. @btn-box-shadow: inset 0 1px 0 fade(@white, 15%), 0 1px 1px fade(@black, 7.5%);
  322. @btn-focus-width: @input-btn-focus-width;
  323. @btn-focus-box-shadow: @input-btn-focus-box-shadow;
  324. @btn-disabled-opacity: 0.65;
  325. @btn-active-box-shadow: inset 0 3px 5px fade(@black, 12.5%);
  326. @btn-link-disabled-color: @gray-600;
  327. @btn-block-spacing-y: 0.5rem;
  328. // Allows for customizing button radius independently from global border radius
  329. @btn-border-radius: @border-radius;
  330. @btn-border-radius-lg: @border-radius-lg;
  331. @btn-border-radius-sm: @border-radius-sm;
  332. @btn-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  333. // Forms
  334. @label-margin-bottom: 0.5rem;
  335. @input-padding-y: @input-btn-padding-y;
  336. @input-padding-x: @input-btn-padding-x;
  337. @input-font-family: @input-btn-font-family;
  338. @input-font-size: @input-btn-font-size;
  339. @input-font-weight: @font-weight-base;
  340. @input-line-height: @input-btn-line-height;
  341. @input-padding-y-sm: @input-btn-padding-y-sm;
  342. @input-padding-x-sm: @input-btn-padding-x-sm;
  343. @input-font-size-sm: @input-btn-font-size-sm;
  344. @input-line-height-sm: @input-btn-line-height-sm;
  345. @input-padding-y-lg: @input-btn-padding-y-lg;
  346. @input-padding-x-lg: @input-btn-padding-x-lg;
  347. @input-font-size-lg: @input-btn-font-size-lg;
  348. @input-line-height-lg: @input-btn-line-height-lg;
  349. @input-bg: @white;
  350. @input-disabled-bg: @gray-200;
  351. @input-color: @gray-700;
  352. @input-border-color: @gray-400;
  353. @input-border-width: @input-btn-border-width;
  354. @input-box-shadow: inset 0 1px 1px fade(@black, 7.5%);
  355. @input-border-radius: @border-radius;
  356. @input-border-radius-lg: @border-radius-lg;
  357. @input-border-radius-sm: @border-radius-sm;
  358. @input-focus-bg: @input-bg;
  359. @input-focus-border-color: lighten(@component-active-bg, 25%);
  360. @input-focus-color: @input-color;
  361. @input-focus-width: @input-btn-focus-width;
  362. @input-focus-box-shadow: @input-btn-focus-box-shadow;
  363. @input-placeholder-color: @gray-600;
  364. @input-plaintext-color: @body-color;
  365. @input-height-border: (@input-border-width * 2);
  366. @input-height-inner: add((@input-line-height * 1em), (@input-padding-y * 2));
  367. @input-height-inner-half: add((@input-line-height * 0.5em), (@input-padding-y));
  368. @input-height-inner-quarter: add((@input-line-height * 0.25em), (@input-padding-y / 2));
  369. @input-height: add((@input-line-height * 1em), add((@input-padding-y * 2), @input-height-border, false));
  370. @input-height-sm: add((@input-line-height-sm * 1em), add((@input-padding-y-sm * 2), @input-height-border, false));
  371. @input-height-lg: add((@input-line-height-lg * 1em), add((@input-padding-y-lg * 2), @input-height-border, false));
  372. @input-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  373. @form-text-margin-top: 0.25rem;
  374. @form-check-input-gutter: 1.25rem;
  375. @form-check-input-margin-y: 0.3rem;
  376. @form-check-input-margin-x: 0.25rem;
  377. @form-check-inline-margin-x: 0.75rem;
  378. @form-check-inline-input-margin-x: 0.3125rem;
  379. @form-grid-gutter-width: 10px;
  380. @form-group-margin-bottom: 1rem;
  381. @input-group-addon-color: @input-color;
  382. @input-group-addon-bg: @gray-200;
  383. @input-group-addon-border-color: @input-border-color;
  384. @custom-forms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  385. @custom-control-gutter: 0.5rem;
  386. @custom-control-spacer-x: 1rem;
  387. @custom-control-cursor: ~""; // LESS PORT: Sass version uses `null`
  388. @custom-control-indicator-size: 1rem;
  389. @custom-control-indicator-bg: @input-bg;
  390. @custom-control-indicator-bg-size: 50% 50%;
  391. @custom-control-indicator-box-shadow: @input-box-shadow;
  392. @custom-control-indicator-border-color: @gray-500;
  393. @custom-control-indicator-border-width: @input-border-width;
  394. @custom-control-label-color: ~""; // LESS PORT: Sass version uses `null`
  395. @custom-control-indicator-disabled-bg: @input-disabled-bg;
  396. @custom-control-label-disabled-color: @gray-600;
  397. @custom-control-indicator-checked-color: @component-active-color;
  398. @custom-control-indicator-checked-bg: @component-active-bg;
  399. @custom-control-indicator-checked-disabled-bg: fade(theme-color(primary), 50%);
  400. @custom-control-indicator-checked-box-shadow: ~""; // LESS PORT: Sass version uses `null`
  401. @custom-control-indicator-checked-border-color: @custom-control-indicator-checked-bg;
  402. @custom-control-indicator-focus-box-shadow: @input-focus-box-shadow;
  403. @custom-control-indicator-focus-border-color: @input-focus-border-color;
  404. @custom-control-indicator-active-color: @component-active-color;
  405. @custom-control-indicator-active-bg: lighten(@component-active-bg, 35%);
  406. @custom-control-indicator-active-box-shadow: ~""; // LESS PORT: Sass version uses `null`
  407. @custom-control-indicator-active-border-color: @custom-control-indicator-active-bg;
  408. @custom-checkbox-indicator-border-radius: @border-radius;
  409. @custom-checkbox-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='@{custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>");
  410. @custom-checkbox-indicator-indeterminate-bg: @component-active-bg;
  411. @custom-checkbox-indicator-indeterminate-color: @custom-control-indicator-checked-color;
  412. @custom-checkbox-indicator-icon-indeterminate: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='@{custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>");
  413. @custom-checkbox-indicator-indeterminate-box-shadow: ~""; // LESS PORT: Sass version uses `null`
  414. @custom-checkbox-indicator-indeterminate-border-color: @custom-checkbox-indicator-indeterminate-bg;
  415. @custom-radio-indicator-border-radius: 50%;
  416. @custom-radio-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='@{custom-control-indicator-checked-color}'/></svg>");
  417. @custom-switch-width: (@custom-control-indicator-size * 1.75);
  418. @custom-switch-indicator-border-radius: (@custom-control-indicator-size / 2);
  419. @custom-switch-indicator-size: subtract(@custom-control-indicator-size, (@custom-control-indicator-border-width * 4));
  420. @custom-select-padding-y: @input-padding-y;
  421. @custom-select-padding-x: @input-padding-x;
  422. @custom-select-font-family: @input-font-family;
  423. @custom-select-font-size: @input-font-size;
  424. @custom-select-height: @input-height;
  425. @custom-select-indicator-padding: 1rem; // Extra padding to account for the presence of the background-image based indicator
  426. @custom-select-font-weight: @input-font-weight;
  427. @custom-select-line-height: @input-line-height;
  428. @custom-select-color: @input-color;
  429. @custom-select-disabled-color: @gray-600;
  430. @custom-select-bg: @input-bg;
  431. @custom-select-disabled-bg: @gray-200;
  432. @custom-select-bg-size: 8px 10px; // In pixels because image dimensions
  433. @custom-select-indicator-color: @gray-800;
  434. @custom-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='@{custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>");
  435. @custom-select-background: escape-svg(@custom-select-indicator) no-repeat right @custom-select-padding-x ~"center/@{custom-select-bg-size}"; // Used so we can have multiple background elements (e.g., arrow and feedback icon)
  436. @custom-select-feedback-icon-padding-right: add((1em * 0.75), ((2 * @custom-select-padding-y * 0.75) + @custom-select-padding-x + @custom-select-indicator-padding));
  437. @custom-select-feedback-icon-position: center right (@custom-select-padding-x + @custom-select-indicator-padding);
  438. @custom-select-feedback-icon-size: @input-height-inner-half @input-height-inner-half;
  439. @custom-select-border-width: @input-border-width;
  440. @custom-select-border-color: @input-border-color;
  441. @custom-select-border-radius: @border-radius;
  442. @custom-select-box-shadow: inset 0 1px 2px fade(@black, 7.5%);
  443. @custom-select-focus-border-color: @input-focus-border-color;
  444. @custom-select-focus-width: @input-focus-width;
  445. @custom-select-focus-box-shadow: 0 0 0 @custom-select-focus-width @input-btn-focus-color;
  446. @custom-select-padding-y-sm: @input-padding-y-sm;
  447. @custom-select-padding-x-sm: @input-padding-x-sm;
  448. @custom-select-font-size-sm: @input-font-size-sm;
  449. @custom-select-height-sm: @input-height-sm;
  450. @custom-select-padding-y-lg: @input-padding-y-lg;
  451. @custom-select-padding-x-lg: @input-padding-x-lg;
  452. @custom-select-font-size-lg: @input-font-size-lg;
  453. @custom-select-height-lg: @input-height-lg;
  454. @custom-range-track-width: 100%;
  455. @custom-range-track-height: 0.5rem;
  456. @custom-range-track-cursor: pointer;
  457. @custom-range-track-bg: @gray-300;
  458. @custom-range-track-border-radius: 1rem;
  459. @custom-range-track-box-shadow: inset 0 0.25rem 0.25rem fade(@black, 10%);
  460. @custom-range-thumb-width: 1rem;
  461. @custom-range-thumb-height: @custom-range-thumb-width;
  462. @custom-range-thumb-bg: @component-active-bg;
  463. @custom-range-thumb-border: 0;
  464. @custom-range-thumb-border-radius: 1rem;
  465. @custom-range-thumb-box-shadow: 0 0.1rem 0.25rem fade(@black, 10%);
  466. @custom-range-thumb-focus-box-shadow: 0 0 0 1px @body-bg, @input-focus-box-shadow;
  467. @custom-range-thumb-focus-box-shadow-width: @input-focus-width; // For focus box shadow issue in IE/Edge
  468. @custom-range-thumb-active-bg: lighten(@component-active-bg, 35%);
  469. @custom-range-thumb-disabled-bg: @gray-500;
  470. @custom-file-height: @input-height;
  471. @custom-file-height-inner: @input-height-inner;
  472. @custom-file-focus-border-color: @input-focus-border-color;
  473. @custom-file-focus-box-shadow: @input-focus-box-shadow;
  474. @custom-file-disabled-bg: @input-disabled-bg;
  475. @custom-file-padding-y: @input-padding-y;
  476. @custom-file-padding-x: @input-padding-x;
  477. @custom-file-line-height: @input-line-height;
  478. @custom-file-font-family: @input-font-family;
  479. @custom-file-font-weight: @input-font-weight;
  480. @custom-file-color: @input-color;
  481. @custom-file-bg: @input-bg;
  482. @custom-file-border-width: @input-border-width;
  483. @custom-file-border-color: @input-border-color;
  484. @custom-file-border-radius: @input-border-radius;
  485. @custom-file-box-shadow: @input-box-shadow;
  486. @custom-file-button-color: @custom-file-color;
  487. @custom-file-button-bg: @input-group-addon-bg;
  488. @custom-file-text: {
  489. en: "Browse";
  490. };
  491. // Form validation
  492. @form-feedback-margin-top: @form-text-margin-top;
  493. @form-feedback-font-size: @small-font-size;
  494. @form-feedback-valid-color: theme-color(success);
  495. @form-feedback-invalid-color: theme-color(danger);
  496. @form-feedback-icon-valid-color: @form-feedback-valid-color;
  497. @form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='@{form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-0.4-1.04.46-1.4 1.1-0.8l1.1 1.4 3.4-3.8c.6-0.63 1.6-0.27 1.2.7l-4 4.6c-0.43.5-0.8.4-1.1.1z'/></svg>");
  498. @form-feedback-icon-invalid-color: @form-feedback-invalid-color;
  499. @form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='@{form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='0.6' fill='@{form-feedback-icon-invalid-color}' stroke='none'/></svg>");
  500. // LESS PORT: No `map-merge()` to extend the ruleset here. The variable can just be overridden if
  501. // different/additional values are desired.
  502. @form-validation-states: {
  503. @valid: {
  504. color: @form-feedback-valid-color;
  505. icon: @form-feedback-icon-valid;
  506. };
  507. @invalid: {
  508. color: @form-feedback-invalid-color;
  509. icon: @form-feedback-icon-invalid;
  510. };
  511. };
  512. // Z-index master list
  513. //
  514. // Warning: Avoid customizing these values. They're used for a bird's eye view
  515. // of components dependent on the z-axis and are designed to all work together.
  516. @zindex-dropdown: 1000;
  517. @zindex-sticky: 1020;
  518. @zindex-fixed: 1030;
  519. @zindex-modal-backdrop: 1040;
  520. @zindex-modal: 1050;
  521. @zindex-popover: 1060;
  522. @zindex-tooltip: 1070;
  523. // Navs
  524. @nav-link-padding-y: 0.5rem;
  525. @nav-link-padding-x: 1rem;
  526. @nav-link-disabled-color: @gray-600;
  527. @nav-tabs-border-color: @gray-300;
  528. @nav-tabs-border-width: @border-width;
  529. @nav-tabs-border-radius: @border-radius;
  530. @nav-tabs-link-hover-border-color: @gray-200 @gray-200 @nav-tabs-border-color;
  531. @nav-tabs-link-active-color: @gray-700;
  532. @nav-tabs-link-active-bg: @body-bg;
  533. @nav-tabs-link-active-border-color: @gray-300 @gray-300 @nav-tabs-link-active-bg;
  534. @nav-pills-border-radius: @border-radius;
  535. @nav-pills-link-active-color: @component-active-color;
  536. @nav-pills-link-active-bg: @component-active-bg;
  537. @nav-divider-color: @gray-200;
  538. @nav-divider-margin-y: (@spacer / 2);
  539. // Navbar
  540. @navbar-padding-y: (@spacer / 2);
  541. @navbar-padding-x: @spacer;
  542. @navbar-nav-link-padding-x: 0.5rem;
  543. @navbar-brand-font-size: @font-size-lg;
  544. // Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
  545. @nav-link-height: (@font-size-base * @line-height-base + @nav-link-padding-y * 2);
  546. @navbar-brand-height: (@navbar-brand-font-size * @line-height-base);
  547. @navbar-brand-padding-y: ((@nav-link-height - @navbar-brand-height) / 2);
  548. @navbar-toggler-padding-y: 0.25rem;
  549. @navbar-toggler-padding-x: 0.75rem;
  550. @navbar-toggler-font-size: @font-size-lg;
  551. @navbar-toggler-border-radius: @btn-border-radius;
  552. @navbar-dark-color: fade(@white, 50%);
  553. @navbar-dark-hover-color: fade(@white, 75%);
  554. @navbar-dark-active-color: @white;
  555. @navbar-dark-disabled-color: fade(@white, 25%);
  556. @navbar-dark-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='@{navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>");
  557. @navbar-dark-toggler-border-color: fade(@white, 10%);
  558. @navbar-light-color: fade(@black, 50%);
  559. @navbar-light-hover-color: fade(@black, 70%);
  560. @navbar-light-active-color: fade(@black, 90%);
  561. @navbar-light-disabled-color: fade(@black, 30%);
  562. @navbar-light-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='@{navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>");
  563. @navbar-light-toggler-border-color: fade(@black, 10%);
  564. @navbar-light-brand-color: @navbar-light-active-color;
  565. @navbar-light-brand-hover-color: @navbar-light-active-color;
  566. @navbar-dark-brand-color: @navbar-dark-active-color;
  567. @navbar-dark-brand-hover-color: @navbar-dark-active-color;
  568. // Dropdowns
  569. //
  570. // Dropdown menu container and contents.
  571. @dropdown-min-width: 10rem;
  572. @dropdown-padding-x: 0;
  573. @dropdown-padding-y: 0.5rem;
  574. @dropdown-spacer: 0.125rem;
  575. @dropdown-font-size: @font-size-base;
  576. @dropdown-color: @body-color;
  577. @dropdown-bg: @white;
  578. @dropdown-border-color: fade(@black, 15%);
  579. @dropdown-border-radius: @border-radius;
  580. @dropdown-border-width: @border-width;
  581. @dropdown-inner-border-radius: subtract(@dropdown-border-radius, @dropdown-border-width);
  582. @dropdown-divider-bg: @gray-200;
  583. @dropdown-divider-margin-y: @nav-divider-margin-y;
  584. @dropdown-box-shadow: 0 0.5rem 1rem fade(@black, 17.5%);
  585. @dropdown-link-color: @gray-900;
  586. @dropdown-link-hover-color: darken(@gray-900, 5%);
  587. @dropdown-link-hover-bg: @gray-100;
  588. @dropdown-link-active-color: @component-active-color;
  589. @dropdown-link-active-bg: @component-active-bg;
  590. @dropdown-link-disabled-color: @gray-600;
  591. @dropdown-item-padding-y: 0.25rem;
  592. @dropdown-item-padding-x: 1.5rem;
  593. @dropdown-header-color: @gray-600;
  594. @dropdown-header-padding: @dropdown-padding-y @dropdown-item-padding-x;
  595. // Pagination
  596. @pagination-padding-y: 0.5rem;
  597. @pagination-padding-x: 0.75rem;
  598. @pagination-padding-y-sm: 0.25rem;
  599. @pagination-padding-x-sm: 0.5rem;
  600. @pagination-padding-y-lg: 0.75rem;
  601. @pagination-padding-x-lg: 1.5rem;
  602. @pagination-line-height: 1.25;
  603. @pagination-color: @link-color;
  604. @pagination-bg: @white;
  605. @pagination-border-width: @border-width;
  606. @pagination-border-color: @gray-300;
  607. @pagination-focus-box-shadow: @input-btn-focus-box-shadow;
  608. @pagination-focus-outline: 0;
  609. @pagination-hover-color: @link-hover-color;
  610. @pagination-hover-bg: @gray-200;
  611. @pagination-hover-border-color: @gray-300;
  612. @pagination-active-color: @component-active-color;
  613. @pagination-active-bg: @component-active-bg;
  614. @pagination-active-border-color: @pagination-active-bg;
  615. @pagination-disabled-color: @gray-600;
  616. @pagination-disabled-bg: @white;
  617. @pagination-disabled-border-color: @gray-300;
  618. // Jumbotron
  619. @jumbotron-padding: 2rem;
  620. @jumbotron-color: ~""; // LESS PORT: Sass version uses `null`
  621. @jumbotron-bg: @gray-200;
  622. // Cards
  623. @card-spacer-y: 0.75rem;
  624. @card-spacer-x: 1.25rem;
  625. @card-border-width: @border-width;
  626. @card-border-radius: @border-radius;
  627. @card-border-color: fade(@black, 12.5%);
  628. @card-inner-border-radius: subtract(@card-border-radius, @card-border-width);
  629. @card-cap-bg: fade(@black, 3%);
  630. @card-cap-color: ~""; // LESS PORT: Sass version uses `null`
  631. @card-height: ~""; // LESS PORT: Sass version uses `null`
  632. @card-color: ~""; // LESS PORT: Sass version uses `null`
  633. @card-bg: @white;
  634. @card-img-overlay-padding: 1.25rem;
  635. @card-group-margin: (@grid-gutter-width / 2);
  636. @card-deck-margin: @card-group-margin;
  637. @card-columns-count: 3;
  638. @card-columns-gap: 1.25rem;
  639. @card-columns-margin: @card-spacer-y;
  640. // Tooltips
  641. @tooltip-font-size: @font-size-sm;
  642. @tooltip-max-width: 200px;
  643. @tooltip-color: @white;
  644. @tooltip-bg: @black;
  645. @tooltip-border-radius: @border-radius;
  646. @tooltip-opacity: 0.9;
  647. @tooltip-padding-y: 0.25rem;
  648. @tooltip-padding-x: 0.5rem;
  649. @tooltip-margin: 0;
  650. @tooltip-arrow-width: 0.8rem;
  651. @tooltip-arrow-height: 0.4rem;
  652. @tooltip-arrow-color: @tooltip-bg;
  653. // Form tooltips must come after regular tooltips
  654. @form-feedback-tooltip-padding-y: @tooltip-padding-y;
  655. @form-feedback-tooltip-padding-x: @tooltip-padding-x;
  656. @form-feedback-tooltip-font-size: @tooltip-font-size;
  657. @form-feedback-tooltip-line-height: @line-height-base;
  658. @form-feedback-tooltip-opacity: @tooltip-opacity;
  659. @form-feedback-tooltip-border-radius: @tooltip-border-radius;
  660. // Popovers
  661. @popover-font-size: @font-size-sm;
  662. @popover-bg: @white;
  663. @popover-max-width: 276px;
  664. @popover-border-width: @border-width;
  665. @popover-border-color: fade(@black, 20%);
  666. @popover-border-radius: @border-radius-lg;
  667. @popover-inner-border-radius: subtract(@popover-border-radius, @popover-border-width);
  668. @popover-box-shadow: 0 0.25rem 0.5rem fade(@black, 20%);
  669. @popover-header-bg: darken(@popover-bg, 3%);
  670. @popover-header-color: @headings-color;
  671. @popover-header-padding-y: 0.5rem;
  672. @popover-header-padding-x: 0.75rem;
  673. @popover-body-color: @body-color;
  674. @popover-body-padding-y: @popover-header-padding-y;
  675. @popover-body-padding-x: @popover-header-padding-x;
  676. @popover-arrow-width: 1rem;
  677. @popover-arrow-height: 0.5rem;
  678. @popover-arrow-color: @popover-bg;
  679. @popover-arrow-outer-color: fadein(@popover-border-color, 5%);
  680. // Toasts
  681. @toast-max-width: 350px;
  682. @toast-padding-x: 0.75rem;
  683. @toast-padding-y: 0.25rem;
  684. @toast-font-size: 0.875rem;
  685. @toast-color: ~""; // LESS PORT: Sass version uses `null`
  686. @toast-background-color: fade(@white, 85%);
  687. @toast-border-width: 1px;
  688. @toast-border-color: rgba(0, 0, 0, 0.1);
  689. @toast-border-radius: 0.25rem;
  690. @toast-box-shadow: 0 0.25rem 0.75rem fade(@black, 10%);
  691. @toast-header-color: @gray-600;
  692. @toast-header-background-color: fade(@white, 85%);
  693. @toast-header-border-color: rgba(0, 0, 0, 0.05);
  694. // Badges
  695. @badge-font-size: 75%;
  696. @badge-font-weight: @font-weight-bold;
  697. @badge-padding-y: 0.25em;
  698. @badge-padding-x: 0.4em;
  699. @badge-border-radius: @border-radius;
  700. @badge-transition: @btn-transition;
  701. @badge-focus-width: @input-btn-focus-width;
  702. @badge-pill-padding-x: 0.6em;
  703. // Use a higher than normal value to ensure completely rounded edges when
  704. // customizing padding or font-size on labels.
  705. @badge-pill-border-radius: 10rem;
  706. // Modals
  707. // Padding applied to the modal body
  708. @modal-inner-padding: 1rem;
  709. // Margin between elements in footer, must be lower than or equal to 2 * @modal-inner-padding
  710. @modal-footer-margin-between: 0.5rem;
  711. @modal-dialog-margin: 0.5rem;
  712. @modal-dialog-margin-y-sm-up: 1.75rem;
  713. @modal-title-line-height: @line-height-base;
  714. @modal-content-color: ~""; // LESS PORT: Sass version uses `null`
  715. @modal-content-bg: @white;
  716. @modal-content-border-color: fade(@black, 20%);
  717. @modal-content-border-width: @border-width;
  718. @modal-content-border-radius: @border-radius-lg;
  719. @modal-content-inner-border-radius: subtract(@modal-content-border-radius, @modal-content-border-width);
  720. @modal-content-box-shadow-xs: 0 0.25rem 0.5rem fade(@black, 50%);
  721. @modal-content-box-shadow-sm-up: 0 0.5rem 1rem fade(@black, 50%);
  722. @modal-backdrop-bg: @black;
  723. @modal-backdrop-opacity: 0.5;
  724. @modal-header-border-color: @border-color;
  725. @modal-footer-border-color: @modal-header-border-color;
  726. @modal-header-border-width: @modal-content-border-width;
  727. @modal-footer-border-width: @modal-header-border-width;
  728. @modal-header-padding-y: 1rem;
  729. @modal-header-padding-x: 1rem;
  730. @modal-header-padding: @modal-header-padding-y @modal-header-padding-x; // Keep this for backwards compatibility
  731. @modal-xl: 1140px;
  732. @modal-lg: 800px;
  733. @modal-md: 500px;
  734. @modal-sm: 300px;
  735. @modal-fade-transform: translate(0, -50px);
  736. @modal-show-transform: none;
  737. @modal-transition: transform 0.3s ease-out;
  738. @modal-scale-transform: scale(1.02);
  739. // Alerts
  740. //
  741. // Define alert colors, border radius, and padding.
  742. @alert-padding-y: 0.75rem;
  743. @alert-padding-x: 1.25rem;
  744. @alert-margin-bottom: 1rem;
  745. @alert-border-radius: @border-radius;
  746. @alert-link-font-weight: @font-weight-bold;
  747. @alert-border-width: @border-width;
  748. @alert-bg-level: -10;
  749. @alert-border-level: -9;
  750. @alert-color-level: 6;
  751. // Progress bars
  752. @progress-height: 1rem;
  753. @progress-font-size: (@font-size-base * 0.75);
  754. @progress-bg: @gray-200;
  755. @progress-border-radius: @border-radius;
  756. @progress-box-shadow: inset 0 0.1rem 0.1rem fade(@black, 10%);
  757. @progress-bar-color: @white;
  758. @progress-bar-bg: theme-color(primary);
  759. @progress-bar-animation-timing: 1s linear infinite;
  760. @progress-bar-transition: width 0.6s ease;
  761. // List group
  762. @list-group-color: ~""; // LESS PORT: Sass version uses `null`
  763. @list-group-bg: @white;
  764. @list-group-border-color: fade(@black, 12.5%);
  765. @list-group-border-width: @border-width;
  766. @list-group-border-radius: @border-radius;
  767. @list-group-item-padding-y: 0.75rem;
  768. @list-group-item-padding-x: 1.25rem;
  769. @list-group-hover-bg: @gray-100;
  770. @list-group-active-color: @component-active-color;
  771. @list-group-active-bg: @component-active-bg;
  772. @list-group-active-border-color: @list-group-active-bg;
  773. @list-group-disabled-color: @gray-600;
  774. @list-group-disabled-bg: @list-group-bg;
  775. @list-group-action-color: @gray-700;
  776. @list-group-action-hover-color: @list-group-action-color;
  777. @list-group-action-active-color: @body-color;
  778. @list-group-action-active-bg: @gray-200;
  779. // Image thumbnails
  780. @thumbnail-padding: 0.25rem;
  781. @thumbnail-bg: @body-bg;
  782. @thumbnail-border-width: @border-width;
  783. @thumbnail-border-color: @gray-300;
  784. @thumbnail-border-radius: @border-radius;
  785. @thumbnail-box-shadow: 0 1px 2px fade(@black, 7.5%);
  786. // Figures
  787. @figure-caption-font-size: 90%;
  788. @figure-caption-color: @gray-600;
  789. // Breadcrumbs
  790. @breadcrumb-font-size: ~""; // LESS PORT: Sass version uses `null`
  791. @breadcrumb-padding-y: 0.75rem;
  792. @breadcrumb-padding-x: 1rem;
  793. @breadcrumb-item-padding: 0.5rem;
  794. @breadcrumb-margin-bottom: 1rem;
  795. @breadcrumb-bg: @gray-200;
  796. @breadcrumb-divider-color: @gray-600;
  797. @breadcrumb-active-color: @gray-600;
  798. @breadcrumb-divider: "/";
  799. @breadcrumb-border-radius: @border-radius;
  800. // Carousel
  801. @carousel-control-color: @white;
  802. @carousel-control-width: 15%;
  803. @carousel-control-opacity: 0.5;
  804. @carousel-control-hover-opacity: 0.9;
  805. @carousel-control-transition: opacity 0.15s ease;
  806. @carousel-indicator-width: 30px;
  807. @carousel-indicator-height: 3px;
  808. @carousel-indicator-hit-area-height: 10px;
  809. @carousel-indicator-spacer: 3px;
  810. @carousel-indicator-active-bg: @white;
  811. @carousel-indicator-transition: opacity 0.6s ease;
  812. @carousel-caption-width: 70%;
  813. @carousel-caption-color: @white;
  814. @carousel-control-icon-width: 20px;
  815. @carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='@{carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>");
  816. @carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='@{carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>");
  817. @carousel-transition-duration: 0.6s;
  818. @carousel-transition: transform @carousel-transition-duration ease-in-out; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity 0.5s ease-out`)
  819. // Spinners
  820. @spinner-width: 2rem;
  821. @spinner-height: @spinner-width;
  822. @spinner-border-width: 0.25em;
  823. @spinner-width-sm: 1rem;
  824. @spinner-height-sm: @spinner-width-sm;
  825. @spinner-border-width-sm: 0.2em;
  826. // Close
  827. @close-font-size: (@font-size-base * 1.5);
  828. @close-font-weight: @font-weight-bold;
  829. @close-color: @black;
  830. @close-text-shadow: 0 1px 0 @white;
  831. // Code
  832. @code-font-size: 87.5%;
  833. @code-color: @pink;
  834. @kbd-padding-y: 0.2rem;
  835. @kbd-padding-x: 0.4rem;
  836. @kbd-font-size: @code-font-size;
  837. @kbd-color: @white;
  838. @kbd-bg: @gray-900;
  839. @pre-color: @gray-900;
  840. @pre-scrollable-max-height: 340px;
  841. // Utilities
  842. @displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex;
  843. @overflows: auto, hidden;
  844. @positions: static, relative, absolute, fixed, sticky;
  845. @user-selects: all, auto, none;
  846. // Printing
  847. @print-page-size: a3;
  848. @print-body-min-width: @grid-breakpoints[lg];