main.css 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591
  1. /* FONT STACK */
  2. body,
  3. input, select, textarea {
  4. font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  5. }
  6. h1, h2, h3, h4, h5, h6 {
  7. line-height: 1.1;
  8. }
  9. /* BASE LAYOUT */
  10. html {
  11. background-color: #ddd;
  12. background-image: -moz-linear-gradient(center top, #aaa, #ddd);
  13. background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #aaa), color-stop(1, #ddd));
  14. background-image: linear-gradient(top, #aaa, #ddd);
  15. filter: progid:DXImageTransform.Microsoft.gradient(startColorStr = '#aaaaaa', EndColorStr = '#dddddd');
  16. background-repeat: no-repeat;
  17. height: 100%;
  18. /* change the box model to exclude the padding from the calculation of 100% height (IE8+) */
  19. -webkit-box-sizing: border-box;
  20. -moz-box-sizing: border-box;
  21. box-sizing: border-box;
  22. }
  23. html.no-cssgradients {
  24. background-color: #aaa;
  25. }
  26. .ie6 html {
  27. height: 100%;
  28. }
  29. html * {
  30. margin: 0;
  31. }
  32. body {
  33. background: #ffffff;
  34. color: #333333;
  35. margin: 0 auto;
  36. max-width: 960px;
  37. overflow-x: hidden; /* prevents box-shadow causing a horizontal scrollbar in firefox when viewport < 960px wide */
  38. -moz-box-shadow: 0 0 0.3em #255b17;
  39. -webkit-box-shadow: 0 0 0.3em #255b17;
  40. box-shadow: 0 0 0.3em #255b17;
  41. }
  42. #grailsLogo {
  43. background-color: #abbf78;
  44. }
  45. /* replace with .no-boxshadow body if you have modernizr available */
  46. .ie6 body,
  47. .ie7 body,
  48. .ie8 body {
  49. border-color: #255b17;
  50. border-style: solid;
  51. border-width: 0 1px;
  52. }
  53. .ie6 body {
  54. height: 100%;
  55. }
  56. a:link, a:visited, a:hover {
  57. color: #48802c;
  58. }
  59. a:hover, a:active {
  60. outline: none; /* prevents outline in webkit on active links but retains it for tab focus */
  61. }
  62. h1 {
  63. color: #48802c;
  64. font-weight: normal;
  65. font-size: 1.25em;
  66. margin: 0.8em 0 0.3em 0;
  67. }
  68. ul {
  69. padding: 0;
  70. }
  71. img {
  72. border: 0;
  73. }
  74. /* GENERAL */
  75. #grailsLogo a {
  76. display: inline-block;
  77. margin: 1em;
  78. }
  79. .content {
  80. }
  81. .content h1 {
  82. border-bottom: 1px solid #CCCCCC;
  83. margin: 0.8em 1em 0.3em;
  84. padding: 0 0.25em;
  85. }
  86. .scaffold-list h1 {
  87. border: none;
  88. }
  89. .footer {
  90. background: #abbf78;
  91. color: #000;
  92. clear: both;
  93. font-size: 0.8em;
  94. margin-top: 1.5em;
  95. padding: 1em;
  96. min-height: 1em;
  97. }
  98. .footer a {
  99. color: #255b17;
  100. }
  101. .spinner {
  102. background: url(../images/spinner.gif) 50% 50% no-repeat transparent;
  103. height: 16px;
  104. width: 16px;
  105. padding: 0.5em;
  106. position: absolute;
  107. right: 0;
  108. top: 0;
  109. text-indent: -9999px;
  110. }
  111. /* NAVIGATION MENU */
  112. .nav {
  113. background-color: #efefef;
  114. padding: 0.5em 0.75em;
  115. -moz-box-shadow: 0 0 3px 1px #aaaaaa;
  116. -webkit-box-shadow: 0 0 3px 1px #aaaaaa;
  117. box-shadow: 0 0 3px 1px #aaaaaa;
  118. zoom: 1;
  119. }
  120. .nav ul {
  121. overflow: hidden;
  122. padding-left: 0;
  123. zoom: 1;
  124. }
  125. .nav li {
  126. display: block;
  127. float: left;
  128. list-style-type: none;
  129. margin-right: 0.5em;
  130. padding: 0;
  131. }
  132. .nav a {
  133. color: #666666;
  134. display: block;
  135. padding: 0.25em 0.7em;
  136. text-decoration: none;
  137. -moz-border-radius: 0.3em;
  138. -webkit-border-radius: 0.3em;
  139. border-radius: 0.3em;
  140. }
  141. .nav a:active, .nav a:visited {
  142. color: #666666;
  143. }
  144. .nav a:focus, .nav a:hover {
  145. background-color: #999999;
  146. color: #ffffff;
  147. outline: none;
  148. text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);
  149. }
  150. .no-borderradius .nav a:focus, .no-borderradius .nav a:hover {
  151. background-color: transparent;
  152. color: #444444;
  153. text-decoration: underline;
  154. }
  155. .nav a.home, .nav a.list, .nav a.create {
  156. background-position: 0.7em center;
  157. background-repeat: no-repeat;
  158. text-indent: 25px;
  159. }
  160. .nav a.home {
  161. background-image: url(../images/skin/house.png);
  162. }
  163. .nav a.list {
  164. background-image: url(../images/skin/database_table.png);
  165. }
  166. .nav a.create {
  167. background-image: url(../images/skin/database_add.png);
  168. }
  169. /* CREATE/EDIT FORMS AND SHOW PAGES */
  170. fieldset,
  171. .property-list {
  172. margin: 0.6em 1.25em 0 1.25em;
  173. padding: 0.3em 1.8em 1.25em;
  174. position: relative;
  175. zoom: 1;
  176. border: none;
  177. }
  178. .property-list .fieldcontain {
  179. list-style: none;
  180. overflow: hidden;
  181. zoom: 1;
  182. }
  183. .fieldcontain {
  184. margin-top: 1em;
  185. }
  186. .fieldcontain label,
  187. .fieldcontain .property-label {
  188. color: #666666;
  189. text-align: right;
  190. width: 25%;
  191. }
  192. .fieldcontain .property-label {
  193. float: left;
  194. }
  195. .fieldcontain .property-value {
  196. display: block;
  197. margin-left: 27%;
  198. }
  199. label {
  200. cursor: pointer;
  201. display: inline-block;
  202. margin: 0 0.25em 0 0;
  203. }
  204. input, select, textarea {
  205. background-color: #fcfcfc;
  206. border: 1px solid #cccccc;
  207. font-size: 1em;
  208. padding: 0.2em 0.4em;
  209. }
  210. select {
  211. padding: 0.2em 0.2em 0.2em 0;
  212. }
  213. select[multiple] {
  214. vertical-align: top;
  215. }
  216. textarea {
  217. width: 250px;
  218. height: 150px;
  219. overflow: auto; /* IE always renders vertical scrollbar without this */
  220. vertical-align: top;
  221. }
  222. input[type=checkbox], input[type=radio] {
  223. background-color: transparent;
  224. border: 0;
  225. padding: 0;
  226. }
  227. input:focus, select:focus, textarea:focus {
  228. background-color: #ffffff;
  229. border: 1px solid #eeeeee;
  230. outline: 0;
  231. -moz-box-shadow: 0 0 0.5em #ffffff;
  232. -webkit-box-shadow: 0 0 0.5em #ffffff;
  233. box-shadow: 0 0 0.5em #ffffff;
  234. }
  235. .required-indicator {
  236. color: #48802C;
  237. display: inline-block;
  238. font-weight: bold;
  239. margin-left: 0.3em;
  240. position: relative;
  241. top: 0.1em;
  242. }
  243. ul.one-to-many {
  244. display: inline-block;
  245. list-style-position: inside;
  246. vertical-align: top;
  247. }
  248. .ie6 ul.one-to-many, .ie7 ul.one-to-many {
  249. display: inline;
  250. zoom: 1;
  251. }
  252. ul.one-to-many li.add {
  253. list-style-type: none;
  254. }
  255. /* EMBEDDED PROPERTIES */
  256. fieldset.embedded {
  257. background-color: transparent;
  258. border: 1px solid #CCCCCC;
  259. margin-left: 0;
  260. margin-right: 0;
  261. padding-left: 0;
  262. padding-right: 0;
  263. -moz-box-shadow: none;
  264. -webkit-box-shadow: none;
  265. box-shadow: none;
  266. }
  267. fieldset.embedded legend {
  268. margin: 0 1em;
  269. }
  270. /* MESSAGES AND ERRORS */
  271. .errors,
  272. .message {
  273. font-size: 0.8em;
  274. line-height: 2;
  275. margin: 1em 2em;
  276. padding: 0.25em;
  277. }
  278. .message {
  279. background: #f3f3ff;
  280. border: 1px solid #b2d1ff;
  281. color: #006dba;
  282. -moz-box-shadow: 0 0 0.25em #b2d1ff;
  283. -webkit-box-shadow: 0 0 0.25em #b2d1ff;
  284. box-shadow: 0 0 0.25em #b2d1ff;
  285. }
  286. .errors {
  287. background: #fff3f3;
  288. border: 1px solid #ffaaaa;
  289. color: #cc0000;
  290. -moz-box-shadow: 0 0 0.25em #ff8888;
  291. -webkit-box-shadow: 0 0 0.25em #ff8888;
  292. box-shadow: 0 0 0.25em #ff8888;
  293. }
  294. .errors ul,
  295. .message {
  296. padding: 0;
  297. }
  298. .errors li {
  299. list-style: none;
  300. background: transparent url(../images/skin/exclamation.png) 0.5em 50% no-repeat;
  301. text-indent: 2.2em;
  302. }
  303. .message {
  304. background: transparent url(../images/skin/information.png) 0.5em 50% no-repeat;
  305. text-indent: 2.2em;
  306. }
  307. /* form fields with errors */
  308. .error input, .error select, .error textarea {
  309. background: #fff3f3;
  310. border-color: #ffaaaa;
  311. color: #cc0000;
  312. }
  313. .error input:focus, .error select:focus, .error textarea:focus {
  314. -moz-box-shadow: 0 0 0.5em #ffaaaa;
  315. -webkit-box-shadow: 0 0 0.5em #ffaaaa;
  316. box-shadow: 0 0 0.5em #ffaaaa;
  317. }
  318. /* same effects for browsers that support HTML5 client-side validation (these have to be specified separately or IE will ignore the entire rule) */
  319. input:invalid, select:invalid, textarea:invalid {
  320. background: #fff3f3;
  321. border-color: #ffaaaa;
  322. color: #cc0000;
  323. }
  324. input:invalid:focus, select:invalid:focus, textarea:invalid:focus {
  325. -moz-box-shadow: 0 0 0.5em #ffaaaa;
  326. -webkit-box-shadow: 0 0 0.5em #ffaaaa;
  327. box-shadow: 0 0 0.5em #ffaaaa;
  328. }
  329. /* TABLES */
  330. table {
  331. border-top: 1px solid #DFDFDF;
  332. border-collapse: collapse;
  333. width: 100%;
  334. margin-bottom: 1em;
  335. }
  336. tr {
  337. border: 0;
  338. }
  339. tr>td:first-child, tr>th:first-child {
  340. padding-left: 1.25em;
  341. }
  342. tr>td:last-child, tr>th:last-child {
  343. padding-right: 1.25em;
  344. }
  345. td, th {
  346. line-height: 1.5em;
  347. padding: 0.5em 0.6em;
  348. text-align: left;
  349. vertical-align: top;
  350. }
  351. th {
  352. background-color: #efefef;
  353. background-image: -moz-linear-gradient(top, #ffffff, #eaeaea);
  354. background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ffffff), color-stop(1, #eaeaea));
  355. filter: progid:DXImageTransform.Microsoft.gradient(startColorStr = '#ffffff', EndColorStr = '#eaeaea');
  356. -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff', EndColorStr='#eaeaea')";
  357. color: #666666;
  358. font-weight: bold;
  359. line-height: 1.7em;
  360. padding: 0.2em 0.6em;
  361. }
  362. thead th {
  363. white-space: nowrap;
  364. }
  365. th a {
  366. display: block;
  367. text-decoration: none;
  368. }
  369. th a:link, th a:visited {
  370. color: #666666;
  371. }
  372. th a:hover, th a:focus {
  373. color: #333333;
  374. }
  375. th.sortable a {
  376. background-position: right;
  377. background-repeat: no-repeat;
  378. padding-right: 1.1em;
  379. }
  380. th.asc a {
  381. background-image: url(../images/skin/sorted_asc.gif);
  382. }
  383. th.desc a {
  384. background-image: url(../images/skin/sorted_desc.gif);
  385. }
  386. .odd {
  387. background: #f7f7f7;
  388. }
  389. .even {
  390. background: #ffffff;
  391. }
  392. th:hover, tr:hover {
  393. background: #E1F2B6;
  394. }
  395. /* PAGINATION */
  396. .pagination {
  397. border-top: 0;
  398. margin: 0;
  399. padding: 0.3em 0.2em;
  400. text-align: center;
  401. -moz-box-shadow: 0 0 3px 1px #AAAAAA;
  402. -webkit-box-shadow: 0 0 3px 1px #AAAAAA;
  403. box-shadow: 0 0 3px 1px #AAAAAA;
  404. background-color: #EFEFEF;
  405. }
  406. .pagination a,
  407. .pagination .currentStep {
  408. color: #666666;
  409. display: inline-block;
  410. margin: 0 0.1em;
  411. padding: 0.25em 0.7em;
  412. text-decoration: none;
  413. -moz-border-radius: 0.3em;
  414. -webkit-border-radius: 0.3em;
  415. border-radius: 0.3em;
  416. }
  417. .pagination a:hover, .pagination a:focus,
  418. .pagination .currentStep {
  419. background-color: #999999;
  420. color: #ffffff;
  421. outline: none;
  422. text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);
  423. }
  424. .no-borderradius .pagination a:hover, .no-borderradius .pagination a:focus,
  425. .no-borderradius .pagination .currentStep {
  426. background-color: transparent;
  427. color: #444444;
  428. text-decoration: underline;
  429. }
  430. /* ACTION BUTTONS */
  431. .buttons {
  432. background-color: #efefef;
  433. overflow: hidden;
  434. padding: 0.3em;
  435. -moz-box-shadow: 0 0 3px 1px #aaaaaa;
  436. -webkit-box-shadow: 0 0 3px 1px #aaaaaa;
  437. box-shadow: 0 0 3px 1px #aaaaaa;
  438. margin: 0.1em 0 0 0;
  439. border: none;
  440. }
  441. .buttons input,
  442. .buttons a {
  443. background-color: transparent;
  444. border: 0;
  445. color: #666666;
  446. cursor: pointer;
  447. display: inline-block;
  448. margin: 0 0.25em 0;
  449. overflow: visible;
  450. padding: 0.25em 0.7em;
  451. text-decoration: none;
  452. -moz-border-radius: 0.3em;
  453. -webkit-border-radius: 0.3em;
  454. border-radius: 0.3em;
  455. }
  456. .buttons input:hover, .buttons input:focus,
  457. .buttons a:hover, .buttons a:focus {
  458. background-color: #999999;
  459. color: #ffffff;
  460. outline: none;
  461. text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);
  462. -moz-box-shadow: none;
  463. -webkit-box-shadow: none;
  464. box-shadow: none;
  465. }
  466. .no-borderradius .buttons input:hover, .no-borderradius .buttons input:focus,
  467. .no-borderradius .buttons a:hover, .no-borderradius .buttons a:focus {
  468. background-color: transparent;
  469. color: #444444;
  470. text-decoration: underline;
  471. }
  472. .buttons .delete, .buttons .edit, .buttons .save {
  473. background-position: 0.7em center;
  474. background-repeat: no-repeat;
  475. text-indent: 25px;
  476. }
  477. .buttons .delete {
  478. background-image: url(../images/skin/database_delete.png);
  479. }
  480. .buttons .edit {
  481. background-image: url(../images/skin/database_edit.png);
  482. }
  483. .buttons .save {
  484. background-image: url(../images/skin/database_save.png);
  485. }
  486. a.skip {
  487. position: absolute;
  488. left: -9999px;
  489. }