Lungo.theme.default.less 8.2 KB

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