Lungo.theme.default.less 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. /**
  2. * Stylesheet
  3. *
  4. * @namespace Lungo.Theme
  5. * @class Default
  6. *
  7. * @author Javier Jimenez Villar <javi@tapquo.com> || @soyjavi
  8. */
  9. @import "constants.less";
  10. // @import "lungo.theme.default.font.less";
  11. @theme: #0093D5;
  12. @theme-light: #39ABE1;
  13. @theme: #2A95D3;
  14. @theme-light: #25AEEB;
  15. @theme-dark: #222;
  16. @theme-dark-current: #111;
  17. @theme-dark-nav: #888;
  18. @theme-dark-nav-active: #fff;
  19. @theme-contrast: #444;
  20. @aside: #191919;
  21. @color: #484a49;
  22. @form-border-radius: 1px;
  23. .app {
  24. background: #000;
  25. font-family: "Roboto", Helvetica, Arial, sans-serif;
  26. }
  27. .theme, li.theme, a.theme {
  28. background: @theme-light;
  29. &:active { background: @theme;}
  30. }
  31. /* @group <header> & <footer> & <article> */
  32. section > header {
  33. background-color: @theme;
  34. .box-shadow(~"inset 0 1px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(255,255,255,0.1), inset 0 -1px 0 rgba(0,0,0,0.5)");
  35. & .title {
  36. color: #fff;
  37. text-shadow: 0 1px 0 rgba(0,0,0,0.2);
  38. }
  39. & .subtitle {
  40. color: #fff;
  41. opacity: 0.7;
  42. }
  43. }
  44. section > footer {
  45. background-color: @theme-dark;
  46. .box-shadow(inset 0 3px 0 #333);
  47. & > nav a {
  48. .box-shadow(1px 0 0 #151515);
  49. &.current {
  50. color: @theme-dark-nav-active;
  51. background: @theme-dark-current;
  52. .box-shadow(~"-1px 0 0 #252525, 1px 0 0 #252525, inset 0 3px 0 #2A95D3");
  53. }
  54. }
  55. }
  56. section > article { background: #f4f5f5; }
  57. aside {
  58. color: #fff;
  59. background: @aside;
  60. & header, footer {
  61. background: @theme-dark-current;
  62. text-shadow: none;
  63. }
  64. & header {
  65. .box-shadow(inset 0 -1px 0 rgba(0,0,0,0.2));
  66. }
  67. & article { background: none; }
  68. & nav {
  69. & .icon {color:white;}
  70. }
  71. & .list li {
  72. background: none;
  73. border-bottom-color: @theme-dark;
  74. &.current {
  75. background: @theme;
  76. border-bottom-color: @theme;
  77. & strong, & small, & .icon { color: #fff; }
  78. }
  79. & strong, & small, & .icon { color: @theme-dark-nav; }
  80. }
  81. }
  82. section.aside {
  83. .box-shadow(~"-1px 0 0 rgba(0,0,0,0.2)");
  84. &.right { .box-shadow(~"4px 0 8px rgba(0,0,0,0.5)"); }
  85. }
  86. /* @end */
  87. /* @group <nav> */
  88. header nav {
  89. & a { color: #fff; }
  90. &.box {
  91. &:not(.right) a { .box-shadow(~"1px 0 0 rgba(255,255,255,0.2), inset -1px 0 0 rgba(0,0,0,0.2)"); }
  92. &.right a { .box-shadow(~"-1px 0 0 rgba(255,255,255,0.2), inset 1px 0 0 rgba(0,0,0,0.2)"); }
  93. & a:active { background: rgba(0,0,0,0.1); }
  94. }
  95. &.button a {
  96. border-radius: @form-border-radius;
  97. .linear-gradient(top, ~','rgba(0,0,0,0.0), ~','rgba(0,0,0,0.1));
  98. box-shadow: 0 1px 0 rgba(255,255,255,0.2), inset 0 0 3px rgba(0,0,0,0.3), inset 0 1px 1px rgba(0, 0, 0, .5);
  99. &:active { background: rgba(0,0,0,0.2); }
  100. }
  101. }
  102. section > nav.groupbar {
  103. background-color: @theme-dark;
  104. & > a.current { .box-shadow(inset 0 -3px 0 @theme); }
  105. }
  106. footer > nav > a, nav.groupbar > a{
  107. color: @theme-dark-nav;
  108. &.current { color: @theme-dark-nav-active; }
  109. }
  110. /* @end */
  111. /* @group <aside> */
  112. /* @group .list */
  113. @list-border: #ddd;
  114. @list-color: #2a2a2a;
  115. .list {
  116. & li {
  117. background: #fff;
  118. border-bottom: inset 1px @list-border;
  119. &, & a { color: @list-color; }
  120. &.dark {
  121. background: @theme-contrast;
  122. &, & a { color: #fff; }
  123. }
  124. &.selectable:active, &.theme {
  125. background: @theme-light;
  126. &, & a { color: #fff; }
  127. }
  128. &.light {
  129. background: @list-border;
  130. text-shadow: 0 1px 0 #eee;
  131. &, & a { color: @theme-dark-nav; }
  132. }
  133. &.anchor {
  134. background: @theme-dark;
  135. border-bottom: none;
  136. &, & a { color: #fff !important; }
  137. }
  138. & small, & .right:not(.bubble) { opacity: 0.8; }
  139. }
  140. &:not(.indented) li {
  141. &.dark, &.theme, &.light {
  142. border-bottom-color: rgba(0,0,0,0.1);
  143. }
  144. }
  145. &.indented li {
  146. }
  147. }
  148. /* @end */
  149. /* @group widgets */
  150. .splash {
  151. background: @theme-dark;
  152. color: #fff;
  153. text-shadow: 0 1px 0px rgba(0,0,0,0.2);
  154. }
  155. /* @group .button */
  156. a.button {
  157. .border-radius(@form-border-radius);
  158. // .box-shadow(~"inset 1px 0 0 rgba(0,0,0,0.2), inset 0 1px 0 rgba(0,0,0,0.2), inset -1px 0 0 rgba(0,0,0,0.2), inset 0 -1px 0 rgba(0,0,0,0.2), inset 0 2px 0 rgba(255,255,255, 0.2)");
  159. .box-shadow(~"inset 0 2px 0 rgba(255,255,255, 0.2)");
  160. font-weight: bold;
  161. text-shadow: 0 -1px 0 rgba(0,0,0,0.3);
  162. &:active { .box-shadow(~"inset 0 10px 30px rgba(0,0,0,0.2), inset 0 -2px 4px rgba(0,0,0,0.3)"); }
  163. }
  164. /* @end */
  165. /* @group <form> */
  166. @box-shadow-form: ~'inset 0 1px 2px rgba(0,0,0,0.1)';
  167. @box-shadow-form-active: ~'inset 0 1px 1px rgba(0,0,0,0.1), 3px 0 #f0eeef, 0 3px #f0eeef, -3px 0 #f0eeef, 0 -3px #f0eeef';
  168. @form-border-color: #D0D4C6;
  169. label { color: #999; }
  170. input:not([type=range]), textarea, select {
  171. border: 1px solid @form-border-color;
  172. .border-radius(@form-border-radius);
  173. // .box-shadow(@box-shadow-form);
  174. color: #858585;
  175. font-family: Helvetica, Arial, sans-serif;
  176. background: #fff;
  177. &:focus {
  178. color: #484a49;
  179. border-color: @theme;
  180. .box-shadow(0 0 1px @theme-light);
  181. }
  182. &[disabled] {
  183. background: #ddd;
  184. border-color: #999;
  185. color: #999; }
  186. }
  187. .select:after {
  188. background: @form-border-color;
  189. color: white;
  190. border-top-right-radius: @form-border-radius;
  191. border-bottom-right-radius: @form-border-radius;
  192. }
  193. /* @group range */
  194. input[type=range] {
  195. .box-shadow(@box-shadow-form);
  196. .border-radius(@form-border-radius);
  197. &:not(.checkbox) {
  198. background-color: #c7c7c7;
  199. &:active { background-color: @theme-light; }
  200. }
  201. &.checkbox {
  202. background-color: #aaaaaa;
  203. color: rgba(255,255,255,0.6);
  204. &.active { background-color: @theme-light; }
  205. }
  206. &::-webkit-slider-thumb {
  207. border-radius: @form-border-radius;
  208. box-shadow:0px 1px 2px 1px rgba(0,0,0,0.3);
  209. background: #fff; }
  210. &::-webkit-slider-thumb::after {
  211. background: #ddd; }
  212. }
  213. /* @end */
  214. /* @group .progress */
  215. .progress {
  216. .labels {
  217. font-size: 12px;
  218. font-weight: bold;
  219. line-height: 18px;
  220. color: #858585;
  221. }
  222. & .bar {
  223. .box-shadow(@box-shadow-form);
  224. background: #c7c7c7;
  225. .border-radius(@form-border-radius);
  226. & .value {
  227. background-color: @theme-light;
  228. .border-radius(@form-border-radius);
  229. & .label {
  230. float: right;
  231. margin-right: 3px;
  232. font-weight: bold;
  233. color: rgba(0,0,0,0.6);
  234. text-shadow: 0 1px 0 rgba(255,255,255,0.2) !important;
  235. font-size: 12px;
  236. }
  237. }
  238. }
  239. }
  240. /* @end */
  241. /* @group .bubble */
  242. .bubble {
  243. color: #fff;
  244. .border-radius(2px);
  245. &.count { background: @theme; }
  246. }
  247. header .count {
  248. background: @theme-dark !important;
  249. }
  250. footer .bubble {
  251. .box-shadow(~'inset 0 1px 1px rgba(255,255,255,0.3), 0 1px 2px rgba(0,0,0,0.5)');
  252. }
  253. article .list .bubble {
  254. .box-shadow(~'inset 1px 0 0 rgba(0,0,0,0.3), inset 0 1px 0 rgba(0,0,0,0.3), inset -1px 0 0 rgba(0,0,0,0.3), inset 0 -1px 0 rgba(0,0,0,0.3)');
  255. }
  256. aside .list .bubble { background: rgba(0,0,0,0.25); }
  257. /* @end */
  258. /* @group .bubble */
  259. .notification {
  260. color: #fff;
  261. & .window {
  262. &.confirm { background: #333; }
  263. &.notify {
  264. text-shadow: 0 1px 0px rgba(0,0,0,0.1);
  265. .box-shadow(~'inset 0 1px 0 rgba(255,255,255,0.2), inset 0 -1px 0 rgba(0,0,0,0.2), 0px 1px 2px rgba(0,0,0,0.25)');
  266. &.error { background: @red; }
  267. &.alert { background: @yellow; }
  268. &.success { background: @green; }
  269. }
  270. &.url {
  271. & .close {
  272. background: #000;
  273. border: solid 2px #fff;
  274. box-shadow: 0 0 4px black;
  275. }
  276. }
  277. }
  278. }