Lungo.theme.scaffold.less 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376
  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. .list {
  138. & ul {
  139. background: #fff;
  140. }
  141. & li {
  142. border-bottom: 1px inset @theme-light;
  143. &:last-child { border-bottom: none; }
  144. &.selectable:active {
  145. background: @theme-light;
  146. color: @theme-dark;
  147. & small, & .right:not(.bubble), & strong {
  148. color: @white;
  149. text-shadow: none;
  150. }
  151. }
  152. & small, & .right:not(.bubble) {
  153. color: @theme;
  154. }
  155. & strong {
  156. color: @theme-dark;
  157. }
  158. }
  159. &.indented li {
  160. /*
  161. border-left: solid 1px #e1e1e1;
  162. border-right: solid 1px #e1e1e1;
  163. &:first-child { border-top: solid 1px #e1e1e1; }
  164. &:last-child { border-bottom: solid 1px #e1e1e1; }
  165. */
  166. }
  167. & .anchor {
  168. color: @theme-dark;
  169. background: @theme-light;
  170. border-bottom: none;
  171. }
  172. & .contrast {
  173. background: @theme-dark;
  174. color: @theme-light;
  175. }
  176. & .toolbar {
  177. border-bottom-color: rgba(0,0,0,0.2);
  178. & .toolbar a {
  179. .box-shadow(~"1px 0px 0px #d9d9d9");
  180. &:last-child { .box-shadow(none); }
  181. &.current {
  182. background: transparent;
  183. color: #333;
  184. text-shadow: none !important;
  185. }
  186. }
  187. }
  188. }
  189. /* @end */
  190. /* @group widgets */
  191. .splash {
  192. background: @theme-dark;
  193. color: #fff;
  194. text-shadow: 0px 1px 0px rgba(0,0,0,0.2);
  195. }
  196. &.indented {
  197. & ul {
  198. border: 1px solid @theme;
  199. .box-shadow(0 1px 1px rgba(0,0,0,0.05));
  200. }
  201. & li {
  202. &:first-child {
  203. }
  204. &:last-child {
  205. }
  206. }
  207. }
  208. /* @group .button */
  209. .button {
  210. color: @white;
  211. font-weight: bold;
  212. &:active { }
  213. &.default {
  214. background: @theme;
  215. &:active, &.active { background: @theme-dark;}
  216. }
  217. }
  218. /* @end */
  219. /* @group <form> */
  220. form {
  221. & label {
  222. color: #999;
  223. }
  224. }
  225. input:not([type=checkbox]), textarea, select {
  226. border: 1px solid #ccc;
  227. color: @theme-dark;
  228. border-radius: 0px;
  229. font-family: Helvetica, Arial, sans-serif;
  230. &:focus {
  231. background: @theme-light;
  232. border-color: @theme-dark;
  233. }
  234. &.rounded {
  235. border-top: none;
  236. &:last-of-type { border-bottom: none; }
  237. }
  238. }
  239. .select:after {
  240. background: #ccc;
  241. color: white;
  242. }
  243. /* @group .range */
  244. input[type="checkbox"] + span, input[type="radio"] + span {
  245. color: #fff;
  246. background: @theme;
  247. }
  248. input[type="checkbox"] + span::before,
  249. input[type="radio"] + span::before {
  250. background: @theme-light;
  251. }
  252. input[type="checkbox"]:checked + span,
  253. input[type="radio"]:checked + span {
  254. background: @theme-dark;
  255. }
  256. /* @end */
  257. /* @group range */
  258. input[type="range"] {
  259. background-color: @theme-light;
  260. &:active {
  261. background: @theme;
  262. }
  263. &::-webkit-slider-thumb {
  264. background: @theme;
  265. }
  266. &:active::-webkit-slider-thumb {
  267. background: @theme-dark;
  268. }
  269. }
  270. /* @end */
  271. /* @group .progress */
  272. .progress {
  273. .labels {
  274. font-weight: bold;
  275. color: @theme;
  276. }
  277. & .bar {
  278. background: @theme-light;
  279. & .value {
  280. background: @theme-dark;
  281. & .label {
  282. font-weight: bold;
  283. color: @white;
  284. }
  285. }
  286. }
  287. }
  288. /* @end */
  289. /* @end */
  290. .bubble {
  291. color: #fff;
  292. &.count {
  293. background: @theme;
  294. }
  295. }
  296. header .bubble.count {
  297. background: @theme-dark;
  298. }
  299. article .list .bubble {
  300. .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)');
  301. }
  302. aside .list .bubble {
  303. background: rgba(0,0,0,0.25);
  304. .box-shadow(~'inset 0 1px 0 #1b212a), inset 0 -1px 0 #454c56');
  305. .box-shadow(~'inset 0 1px 0 rgba(0,0,0,0.3), inset 0 -1px 0 rgba(255,255,255,0.2)');
  306. }
  307. /* @end */