Lungo.theme.scaffold.less 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379
  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 "mixins.less";
  11. @theme: #999;
  12. @theme-light: #ccc;
  13. @theme-dark: #333;
  14. @theme-highlight: #93d6e7;
  15. @theme-highlight-color: #1b6777;
  16. @theme-highlight-text-shadow: 0 1px 0 rgba(255,255,255,0.2);
  17. @color-border: #2566a4;
  18. @color-border-light: #64b9e2;
  19. @color-main: #2c8bca;
  20. @color-main-dark: #154f93;
  21. @color-secondary: #353b42;
  22. @color-secondary-dark: #272a2d;
  23. @background-secondary: #353b42 -webkit-gradient(linear, left top, left bottom, color-stop(0%, #353b42), color-stop(100%, #272a2d));
  24. .app {
  25. background: @black;
  26. font-family: Helvetica, Arial, sans-serif;
  27. }
  28. /* @group <header> & <footer> & <article> */
  29. section > header {
  30. background: @theme;
  31. .box-shadow(~"inset 0 1px 0 "@theme-light~", inset 0 -1px 0 "@theme-dark);
  32. z-index: 2;
  33. & .title , .subtitle {
  34. color: @white;
  35. }
  36. }
  37. section > footer {
  38. background: @theme-dark;
  39. border-top: 1px inset @black;
  40. color: @white;
  41. }
  42. article {
  43. background: @theme-light;
  44. }
  45. /* @end */
  46. /* @group <nav> */
  47. header nav {
  48. & a { color: @white; }
  49. &:not(.plain) {
  50. & a {
  51. .box-shadow(~"1px 0 0 rgba(255,255,255,0.2), inset -1px 0 0 rgba(0,0,0,0.2)");
  52. &.accept { background: rgba(0, 255, 0, 0.4); }
  53. &.cancel { background: rgba(255, 0, 0, 0.4); }
  54. &:active {
  55. &.accept { background: rgba(0, 255, 0, 0.2); }
  56. &.cancel { background: rgba(255, 0, 0, 0.2); }
  57. &:not(.accept):not(.cancel) { background: rgba(0,0,0,0.25); }
  58. }
  59. }
  60. &.right a {
  61. .box-shadow(~"-1px 0 0 rgba(255,255,255,0.2), inset 1px 0 0 rgba(0,0,0,0.2)");
  62. }
  63. }
  64. &.plain a:active { text-shadow: 0 0 4px rgba(255,255,255,0.5); }
  65. }
  66. .toolbar a {
  67. color: @theme-light;
  68. &.current, &.active {
  69. color: @white;
  70. background: @black;
  71. .box-shadow(~"inset 0 1px 1px rgba(0,0,0,1), -1px 0 0 rgba(255,255,255,0.05), 1px 1px 0 rgba(255,255,255,0.05)");
  72. }
  73. }
  74. .groupbar {
  75. background: @theme-dark;
  76. // border-bottom: solid 1px rgba(0,0,0,1);
  77. //.box-shadow(~"inset 0 1px 8px rgba(0,0,0,0.3)");
  78. & a {
  79. color: @theme;
  80. &.current {
  81. color: @white;
  82. .box-shadow(inset 0 -3px 0 @white);
  83. //border-bottom: inset 3px @white;
  84. }
  85. }
  86. }
  87. /* @end */
  88. /* @group <aside> */
  89. aside {
  90. color: #fff;
  91. background: #272727;
  92. background: #333;
  93. & header, footer {
  94. .box-shadow(~"inset 0 1px 0 rgba(0,0,0,0.1), inset 0 -1px 0 rgba(255,255,255,0.1)");
  95. background: #272727;
  96. }
  97. & article {
  98. background: none;
  99. }
  100. & .list {
  101. & ul {
  102. background: none;
  103. }
  104. & li {
  105. color: #F0F0F0;
  106. border-bottom: 1px solid #2f2f2f;
  107. & strong {
  108. text-shadow: 0 1px 1px black;
  109. color: #fff;
  110. }
  111. & small {
  112. color: rgba(255,255,255,0.3);
  113. }
  114. }
  115. }
  116. & a {
  117. color: @theme;
  118. }
  119. & a.current {
  120. background: #2f2f2f;
  121. color: @white;
  122. }
  123. }
  124. section.aside {
  125. .box-shadow(~"-4px 0 8px rgba(0,0,0,0.5)");
  126. &.right { .box-shadow(~"4px 0 8px rgba(0,0,0,0.5)"); }
  127. }
  128. @media handheld, only screen and (min-width: 768px) {
  129. section.current, section.show {
  130. .box-shadow(~"-4px 0 8px rgba(0,0,0,0.5)");
  131. &.right { .box-shadow(~"4px 0 8px rgba(0,0,0,0.5)"); }
  132. }
  133. }
  134. /* @end */
  135. /* @group .list */
  136. .list, .list li:not(.toolbar) a { color: #2a2a2a; }
  137. section .list {
  138. & ul, & li { background: #fff; }
  139. & li {
  140. border-bottom: 1px inset @theme-light;
  141. }
  142. }
  143. .list {
  144. & li {
  145. &:last-child { border-bottom: none; }
  146. &.selectable:active {
  147. background: @theme-light;
  148. color: @theme-dark;
  149. & small, & .right:not(.bubble), & strong {
  150. color: @white;
  151. text-shadow: none;
  152. }
  153. }
  154. & small, & .right:not(.bubble) {
  155. color: @theme;
  156. }
  157. & strong {
  158. color: @theme-dark;
  159. }
  160. }
  161. &.indented li {
  162. /*
  163. border-left: solid 1px #e1e1e1;
  164. border-right: solid 1px #e1e1e1;
  165. &:first-child { border-top: solid 1px #e1e1e1; }
  166. &:last-child { border-bottom: solid 1px #e1e1e1; }
  167. */
  168. }
  169. & .anchor {
  170. color: @theme-dark;
  171. background: @theme-light;
  172. border-bottom: none;
  173. }
  174. & .contrast {
  175. background: @theme-dark;
  176. color: @theme-light;
  177. }
  178. & .toolbar {
  179. border-bottom-color: rgba(0,0,0,0.2);
  180. & .toolbar a {
  181. .box-shadow(~"1px 0px 0px #d9d9d9");
  182. &:last-child { .box-shadow(none); }
  183. &.current {
  184. background: transparent;
  185. color: #333;
  186. text-shadow: none !important;
  187. }
  188. }
  189. }
  190. }
  191. /* @end */
  192. /* @group widgets */
  193. .splash {
  194. background: @theme-dark;
  195. color: #fff;
  196. text-shadow: 0px 1px 0px rgba(0,0,0,0.2);
  197. }
  198. &.indented {
  199. & ul {
  200. border: 1px solid @theme;
  201. .box-shadow(0 1px 1px rgba(0,0,0,0.05));
  202. }
  203. & li {
  204. &:first-child {
  205. }
  206. &:last-child {
  207. }
  208. }
  209. }
  210. /* @group .button */
  211. .button {
  212. color: @white;
  213. font-weight: bold;
  214. &:active { }
  215. &.default {
  216. background: @theme;
  217. &:active, &.active { background: @theme-dark;}
  218. }
  219. }
  220. /* @end */
  221. /* @group <form> */
  222. form {
  223. & label {
  224. color: #999;
  225. }
  226. }
  227. input:not([type=checkbox]), textarea, select {
  228. border: 1px solid #ccc;
  229. color: @theme-dark;
  230. border-radius: 0px;
  231. font-family: Helvetica, Arial, sans-serif;
  232. &:focus {
  233. background: @theme-light;
  234. border-color: @theme-dark;
  235. }
  236. &.rounded {
  237. border-top: none;
  238. &:last-of-type { border-bottom: none; }
  239. }
  240. }
  241. .select:after {
  242. background: #ccc;
  243. color: white;
  244. }
  245. /* @group .range */
  246. input[type="checkbox"] + span, input[type="radio"] + span {
  247. color: #fff;
  248. background: @theme;
  249. }
  250. input[type="checkbox"] + span::before,
  251. input[type="radio"] + span::before {
  252. background: @theme-light;
  253. }
  254. input[type="checkbox"]:checked + span,
  255. input[type="radio"]:checked + span {
  256. background: @theme-dark;
  257. }
  258. /* @end */
  259. /* @group range */
  260. input[type="range"] {
  261. background-color: @theme-light;
  262. &:active {
  263. background: @theme;
  264. }
  265. &::-webkit-slider-thumb {
  266. background: @theme;
  267. }
  268. &:active::-webkit-slider-thumb {
  269. background: @theme-dark;
  270. }
  271. }
  272. /* @end */
  273. /* @group .progress */
  274. .progress {
  275. .labels {
  276. font-weight: bold;
  277. color: @theme;
  278. }
  279. & .bar {
  280. background: @theme-light;
  281. & .value {
  282. background: @theme-dark;
  283. & .label {
  284. font-weight: bold;
  285. color: @white;
  286. }
  287. }
  288. }
  289. }
  290. /* @end */
  291. /* @end */
  292. .bubble {
  293. color: #fff;
  294. &.count {
  295. background: @theme;
  296. }
  297. }
  298. header .bubble.count {
  299. background: @theme-dark;
  300. }
  301. article .list .bubble {
  302. .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)');
  303. }
  304. aside .list .bubble {
  305. background: rgba(0,0,0,0.25);
  306. .box-shadow(~'inset 0 1px 0 #1b212a), inset 0 -1px 0 #454c56');
  307. .box-shadow(~'inset 0 1px 0 rgba(0,0,0,0.3), inset 0 -1px 0 rgba(255,255,255,0.2)');
  308. }
  309. /* @end */