Lungo.theme.default.less 9.0 KB

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