theme.less 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  1. // stylelint-disable selector-no-qualifying-type, selector-max-compound-selectors
  2. /*!
  3. * Bootstrap v3.4.1 (https://getbootstrap.com/)
  4. * Copyright 2011-2019 Twitter, Inc.
  5. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  6. */
  7. //
  8. // Load core variables and mixins
  9. // --------------------------------------------------
  10. @import 'variables.less';
  11. @import 'mixins.less';
  12. //
  13. // Buttons
  14. // --------------------------------------------------
  15. // Common styles
  16. .btn-default,
  17. .btn-primary,
  18. .btn-success,
  19. .btn-info,
  20. .btn-warning,
  21. .btn-danger {
  22. text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
  23. box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  24. // Reset the shadow
  25. &:active,
  26. &.active {
  27. box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  28. }
  29. &.disabled,
  30. &[disabled],
  31. fieldset[disabled] & {
  32. box-shadow: none;
  33. }
  34. }
  35. // Mixin for generating new styles
  36. .btn-styles(@btn-color: #555) {
  37. background-image: linear-gradient(
  38. to bottom,
  39. @btn-color 0%,
  40. darken(@btn-color, 12%) 100%
  41. );
  42. background-repeat: repeat-x;
  43. border-color: darken(@btn-color, 14%);
  44. &:hover,
  45. &:focus {
  46. background-color: darken(@btn-color, 12%);
  47. background-position: 0 -15px;
  48. }
  49. &:active,
  50. &.active {
  51. background-color: darken(@btn-color, 12%);
  52. border-color: darken(@btn-color, 14%);
  53. }
  54. &.disabled,
  55. &[disabled],
  56. fieldset[disabled] & {
  57. &,
  58. &:hover,
  59. &:focus,
  60. &.focus,
  61. &:active,
  62. &.active {
  63. background-color: darken(@btn-color, 12%);
  64. background-image: none;
  65. }
  66. }
  67. }
  68. // Common styles
  69. .btn {
  70. // Remove the gradient for the pressed/active state
  71. &:active,
  72. &.active {
  73. background-image: none;
  74. }
  75. }
  76. // Apply the mixin to the buttons
  77. .btn-default {
  78. .btn-styles(@btn-default-bg);
  79. text-shadow: 0 1px 0 #fff;
  80. border-color: #ccc;
  81. }
  82. .btn-primary {
  83. .btn-styles(@btn-primary-bg);
  84. }
  85. .btn-success {
  86. .btn-styles(@btn-success-bg);
  87. }
  88. .btn-info {
  89. .btn-styles(@btn-info-bg);
  90. }
  91. .btn-warning {
  92. .btn-styles(@btn-warning-bg);
  93. }
  94. .btn-danger {
  95. .btn-styles(@btn-danger-bg);
  96. }
  97. //
  98. // Dropdowns
  99. // --------------------------------------------------
  100. .dropdown-menu > li > a:hover,
  101. .dropdown-menu > li > a:focus {
  102. background-image: linear-gradient(
  103. to bottom,
  104. @dropdown-link-hover-bg 0%,
  105. darken(@dropdown-link-hover-bg, 5%) 100%
  106. );
  107. background-repeat: repeat-x;
  108. background-color: darken(@dropdown-link-hover-bg, 5%);
  109. }
  110. .dropdown-menu > .active > a,
  111. .dropdown-menu > .active > a:hover,
  112. .dropdown-menu > .active > a:focus {
  113. background-image: linear-gradient(
  114. to bottom,
  115. @dropdown-link-active-bg 0%,
  116. darken(@dropdown-link-active-bg, 5%) 100%
  117. );
  118. background-repeat: repeat-x;
  119. background-color: darken(@dropdown-link-active-bg, 5%);
  120. }
  121. //
  122. // Navbar
  123. // --------------------------------------------------
  124. // Default navbar
  125. .navbar-default {
  126. background-image: linear-gradient(
  127. to bottom,
  128. lighten(@navbar-default-bg, 10%) 0%,
  129. @navbar-default-bg 100%
  130. );
  131. background-repeat: repeat-x;
  132. border-radius: @navbar-border-radius;
  133. box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
  134. .navbar-nav > .open > a,
  135. .navbar-nav > .active > a {
  136. background-image: linear-gradient(
  137. to bottom,
  138. darken(@navbar-default-link-active-bg, 5%) 0%,
  139. darken(@navbar-default-link-active-bg, 2%) 100%
  140. );
  141. background-repeat: repeat-x;
  142. box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
  143. }
  144. }
  145. .navbar-brand,
  146. .navbar-nav > li > a {
  147. text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
  148. }
  149. // Inverted navbar
  150. .navbar-inverse {
  151. background-image: linear-gradient(
  152. to bottom,
  153. lighten(@navbar-inverse-bg, 10%) 10%,
  154. @navbar-inverse-bg 100%
  155. );
  156. background-repeat: repeat-x;
  157. border-radius: @navbar-border-radius;
  158. .navbar-nav > .open > a,
  159. .navbar-nav > .active > a {
  160. background-image: linear-gradient(
  161. to bottom,
  162. @navbar-inverse-link-active-bg 0%,
  163. lighten(@navbar-inverse-link-active-bg, 2.5%) 100%
  164. );
  165. background-repeat: repeat-x;
  166. box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
  167. }
  168. .navbar-brand,
  169. .navbar-nav > li > a {
  170. text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  171. }
  172. }
  173. // Undo rounded corners in static and fixed navbars
  174. .navbar-static-top,
  175. .navbar-fixed-top,
  176. .navbar-fixed-bottom {
  177. border-radius: 0;
  178. }
  179. // Fix active state of dropdown items in collapsed mode
  180. @media (max-width: @grid-float-breakpoint-max) {
  181. .navbar .navbar-nav .open .dropdown-menu > .active > a {
  182. &,
  183. &:hover,
  184. &:focus {
  185. color: #fff;
  186. background-image: linear-gradient(
  187. to bottom,
  188. @dropdown-link-active-bg 0%,
  189. darken(@dropdown-link-active-bg, 5%) 100%
  190. );
  191. background-repeat: repeat-x;
  192. }
  193. }
  194. }
  195. //
  196. // Alerts
  197. // --------------------------------------------------
  198. // Common styles
  199. .alert {
  200. text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
  201. box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
  202. }
  203. // Mixin for generating new styles
  204. .alert-styles(@color) {
  205. background-image: linear-gradient(to bottom, @color 0%, darken(@color, 7.5%) 100%);
  206. background-repeat: repeat-x;
  207. border-color: darken(@color, 15%);
  208. }
  209. // Apply the mixin to the alerts
  210. .alert-success {
  211. .alert-styles(@alert-success-bg);
  212. }
  213. .alert-info {
  214. .alert-styles(@alert-info-bg);
  215. }
  216. .alert-warning {
  217. .alert-styles(@alert-warning-bg);
  218. }
  219. .alert-danger {
  220. .alert-styles(@alert-danger-bg);
  221. }
  222. //
  223. // Progress bars
  224. // --------------------------------------------------
  225. // Give the progress background some depth
  226. .progress {
  227. background-image: linear-gradient(
  228. to bottom,
  229. darken(@progress-bg, 4%) 0%,
  230. @progress-bg 100%
  231. );
  232. background-repeat: repeat-x;
  233. }
  234. // Mixin for generating new styles
  235. .progress-bar-styles(@color) {
  236. background-image: linear-gradient(to bottom, @color 0%, darken(@color, 10%) 100%);
  237. background-repeat: repeat-x;
  238. }
  239. // Apply the mixin to the progress bars
  240. .progress-bar {
  241. .progress-bar-styles(@progress-bar-bg);
  242. }
  243. .progress-bar-success {
  244. .progress-bar-styles(@progress-bar-success-bg);
  245. }
  246. .progress-bar-info {
  247. .progress-bar-styles(@progress-bar-info-bg);
  248. }
  249. .progress-bar-warning {
  250. .progress-bar-styles(@progress-bar-warning-bg);
  251. }
  252. .progress-bar-danger {
  253. .progress-bar-styles(@progress-bar-danger-bg);
  254. }
  255. //
  256. // List groups
  257. // --------------------------------------------------
  258. .list-group {
  259. border-radius: @border-radius-base;
  260. box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
  261. }
  262. .list-group-item.active,
  263. .list-group-item.active:hover,
  264. .list-group-item.active:focus {
  265. text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);
  266. background-image: linear-gradient(
  267. to bottom,
  268. @list-group-active-bg 0%,
  269. darken(@list-group-active-bg, 7.5%) 100%
  270. );
  271. background-repeat: repeat-x;
  272. border-color: darken(@list-group-active-border, 7.5%);
  273. }
  274. //
  275. // Panels
  276. // --------------------------------------------------
  277. // Common styles
  278. .panel {
  279. box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  280. }
  281. // Mixin for generating new styles
  282. .panel-heading-styles(@color) {
  283. background-image: linear-gradient(to bottom, @color 0%, darken(@color, 5%) 100%);
  284. background-repeat: repeat-x;
  285. }
  286. // Apply the mixin to the panel headings only
  287. .panel-default > .panel-heading {
  288. .panel-heading-styles(@panel-default-heading-bg);
  289. }
  290. .panel-primary > .panel-heading {
  291. .panel-heading-styles(@panel-primary-heading-bg);
  292. }
  293. .panel-success > .panel-heading {
  294. .panel-heading-styles(@panel-success-heading-bg);
  295. }
  296. .panel-info > .panel-heading {
  297. .panel-heading-styles(@panel-info-heading-bg);
  298. }
  299. .panel-warning > .panel-heading {
  300. .panel-heading-styles(@panel-warning-heading-bg);
  301. }
  302. .panel-danger > .panel-heading {
  303. .panel-heading-styles(@panel-danger-heading-bg);
  304. }
  305. //
  306. // Wells
  307. // --------------------------------------------------
  308. .well {
  309. background-image: linear-gradient(to bottom, darken(@well-bg, 5%) 0%, @well-bg 100%);
  310. background-repeat: repeat-x;
  311. border-color: darken(@well-bg, 10%);
  312. box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
  313. }