timesheet source code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

489 lines
9.5KB

  1. @CHARSET "UTF-8";
  2. html,
  3. body {
  4. margin: 0px !important;
  5. overflow: hidden;
  6. }
  7. .titlebar_gradient {
  8. /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f6e6b4+0,ed9017+100 */
  9. background: rgb(246,230,180); /* Old browsers */
  10. background: -moz-linear-gradient(top, rgba(246,230,180,1) 0%, rgba(237,144,23,1) 100%); /* FF3.6-15 */
  11. background: -webkit-linear-gradient(top, rgba(246,230,180,1) 0%,rgba(237,144,23,1) 100%); /* Chrome10-25,Safari5.1-6 */
  12. background: linear-gradient(to bottom, rgba(246,230,180,1) 0%,rgba(237,144,23,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  13. filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6e6b4', endColorstr='#ed9017',GradientType=0 ); /* IE6-9 */
  14. }
  15. .timesheets {
  16. width: calc(100vw - 300px);
  17. height: 100vh;
  18. margin: 0px;
  19. padding: 0px;
  20. left: 150px;
  21. position: fixed;
  22. background-color: red;
  23. overflow: hidden;
  24. }
  25. .peoplebar {
  26. position: fixed;
  27. top: 0px;
  28. width: 150px;
  29. height: 100vh;
  30. background: lightgrey;
  31. overflow: hidden;
  32. }
  33. .peoplebar.left {
  34. border-radius: 5px 0px 0px 0px;
  35. left: 0px;
  36. }
  37. .peoplebar.right {
  38. right: 0px;
  39. border-radius: 0px 5px 0px 0px;
  40. }
  41. .timesheets .sheettitle {
  42. padding-top: 8px;
  43. text-align: center;
  44. background-color: lightgrey;
  45. height: 40px;
  46. text-shadow: 1px 1px 1px #fcfcfc;
  47. }
  48. .timesheets .workspace {
  49. height: calc(100vh - 180px);
  50. background-color: white;
  51. overflow-x: hidden;
  52. overflow-y: scroll;
  53. }
  54. .timesheets .statusbar {
  55. position: relative;
  56. height: 40px;
  57. background-color: ivory;
  58. box-shadow: 1px 1px 10px black;
  59. }
  60. /* staff search bar*/
  61. .b_search {
  62. position: relative;
  63. height: 40px;
  64. }
  65. .b_search input {
  66. margin-top: 5px;
  67. padding-left: 20px;
  68. padding-right: 20px;
  69. border-radius: 20px;
  70. box-shadow: 1px 1px 2px grey inset;
  71. height: 30px;
  72. }
  73. .b_search .ticon-search {
  74. position: absolute;
  75. top: 15px;
  76. left: 5px;
  77. }
  78. .b_search .ticon-times-circle-o {
  79. position: absolute;
  80. top: 15px;
  81. right: 5px;
  82. }
  83. .peoplebar button {
  84. width: 100%;
  85. padding: 0px;
  86. height: 20px;
  87. }
  88. .peoplebar .stafflist,
  89. .peoplebar .clientlist {
  90. height: calc(100vh - 80px);
  91. background-color: dimgrey;
  92. overflow: hidden;
  93. /* scroll-behavior: smooth; */
  94. }
  95. .peopleitem {
  96. position: relative;
  97. margin-top: 10px;
  98. margin-bottom: 10px;
  99. height: 100px;
  100. background: transparent;
  101. }
  102. /* hover box */
  103. div.peopleitem > label {
  104. -webkit-perspective: 1000px;
  105. perspective: 1000px;
  106. -webkit-transform-style: preserve-3d;
  107. transform-style: preserve-3d;
  108. display: block;
  109. width: 100%;
  110. height: 100px;
  111. position: absolute;
  112. left: 50%;
  113. top: 50%;
  114. -webkit-transform: translate(-50%, -50%);
  115. transform: translate(-50%, -50%);
  116. cursor: pointer;
  117. }
  118. div.peopleitem .card {
  119. position: relative;
  120. height: 100%;
  121. width: 95%;
  122. margin: auto;
  123. -webkit-transform-style: preserve-3d;
  124. transform-style: preserve-3d;
  125. -webkit-transition: all 600ms;
  126. transition: all 600ms;
  127. z-index: 20;
  128. border: 1px solid black;
  129. box-shadow: 1px 1px 10px black;
  130. }
  131. div.peopleitem .card div {
  132. position: absolute;
  133. height: 100%;
  134. width: 100%;
  135. background: #FFF;
  136. text-align: center;
  137. /* line-height: 200px; */
  138. -webkit-backface-visibility: hidden;
  139. backface-visibility: hidden;
  140. border-radius: 2px;
  141. }
  142. div.peopleitem .card .back {
  143. background: #222;
  144. color: #FFF;
  145. -webkit-transform: rotateX(180deg);
  146. transform: rotateX(180deg);
  147. }
  148. div.peopleitem label:hover .card {
  149. -webkit-transform: rotateX(20deg);
  150. transform: rotateX(20deg);
  151. box-shadow: 0 20px 20px rgba(50,50,50,.2);
  152. }
  153. div.peopleitem input {
  154. display: none;
  155. }
  156. div.peopleitem :checked + .card {
  157. transform: rotateX(180deg);
  158. -webkit-transform: rotateX(180deg);
  159. }
  160. div.peopleitem label:hover :checked + .card {
  161. transform: rotateX(160deg);
  162. -webkit-transform: rotateX(160deg);
  163. box-shadow: 0 20px 20px rgba(255,255,255,.2);
  164. }
  165. /* end of hover box */
  166. .satusbar {
  167. position: relative;
  168. }
  169. .statusbar * {
  170. vertical-align: top;
  171. text-shadow: 1px 1px 1px #fcfcfc;
  172. }
  173. .statusbar div {
  174. position: relative;
  175. display: inline;
  176. }
  177. .statusbar .xero {
  178. width: 40px;
  179. height: 100%;
  180. margin-left: 5px;
  181. margin-right: 5px;
  182. display: inline-block;
  183. background-color: white;
  184. box-shadow: inset 0px 0px 2px dotted white;
  185. border-radius: 100px;
  186. background-image: url(http://acaresydney.com.au/wp-content/uploads/2019/06/xero.png);
  187. background-size: 40px;
  188. box-shadow: 0px 0px 10px white;
  189. }
  190. .statusbar .wifi i,
  191. .statusbar .xero i {
  192. font-size: 20px;
  193. color: red;
  194. position: absolute;
  195. right: 0px;
  196. top: -5px;
  197. }
  198. .statusbar .wifi {
  199. width: 40px;
  200. height: 100%;
  201. margin-left: 0px;
  202. margin-right: 100px;
  203. display: inline-block;
  204. background-color: white;
  205. box-shadow: inset 0px 0px 2px black;
  206. border-radius: 100px;
  207. background-image: url(http://acaresydney.com.au/wp-content/uploads/2019/06/wnet.png);
  208. background-size: 40px;
  209. box-shadow: 0px 0px 10px white;
  210. }
  211. .statusbar .xero:hover,
  212. .statusbar .wifi:hover {
  213. box-shadow: 0px 0px 3px black;
  214. }
  215. .statusbar .wages {
  216. text-align: center;
  217. width: 150px;
  218. height: 100%;
  219. display: inline-block;
  220. background-color: transparent;
  221. font-size: 24px;
  222. font-weight: bold;
  223. color: dimgrey;
  224. border: 1px dotted white;
  225. position: absolute;
  226. right: 400px;
  227. }
  228. .statusbar .workinghours {
  229. background-color: transparent;
  230. width: 175px;
  231. height: 100%;
  232. display: inline-block;
  233. position: absolute;
  234. right: 220px;
  235. }
  236. .workinghours label {
  237. transform: unset;
  238. left: 0;
  239. top: 0;
  240. width: 50px;
  241. height: 100%;
  242. padding: 0.5em;
  243. text-align: left;
  244. display: inline-block;
  245. color: #A974D;
  246. font-weight: bolder;
  247. line-height: 15px;
  248. background-color: transparent;
  249. margin-right: 0px;
  250. }
  251. .statusbar input {
  252. margin: 0px;
  253. width: 115px;
  254. height: 100%;
  255. display: inline-block;
  256. font-size: 24px;
  257. background: transparent;
  258. text-align: center;
  259. }
  260. .statusbar button[name='confirmschedule'] {
  261. margin-top: 5px;
  262. margin-bottom: 5px ;
  263. text-shadow: 0px 0px 2px black;
  264. width: 200px ;
  265. height: calc( 100% - 10px );
  266. font-weight: bolder;
  267. position: absolute;
  268. right: 10px;
  269. }
  270. div.sheetsheader {
  271. height: 100px;
  272. background: darkorange;
  273. position: relative;
  274. }
  275. div.prevweek {
  276. display: inline-block;
  277. height: 70px;
  278. width: 40px;
  279. font-size: 36px;
  280. padding-top: 5px;
  281. padding-left: 2px;
  282. float: left;
  283. background: darkorange;
  284. }
  285. div.prevweek span:hover,
  286. div.nextweek span:hover {
  287. box-shadow: 1px 1px 10px black;
  288. }
  289. div.nextweek {
  290. display: inline-block;
  291. height: 70px;
  292. width: 40px;
  293. font-size: 36px;
  294. padding-top: 5px;
  295. padding-left: 4px;
  296. float: right;
  297. }
  298. div.weekly {
  299. width: calc( 100% - 80px ) ;
  300. display: inline-block;
  301. background-color: black;
  302. height: 70px;
  303. }
  304. div.weekly div {
  305. margin: 0px;
  306. }
  307. div.weekly div.weekname {
  308. position: relative;
  309. width: 130px;
  310. top: -5px;
  311. border: 2px solid grey;
  312. border-radius: 10px;
  313. text-align: center;
  314. background-color: white;
  315. }
  316. div.weekly div.weekname.prev {
  317. position: absolute;
  318. left: 100px;
  319. z-index: 1;
  320. }
  321. div.weekly div.weekname.next {
  322. position: absolute;
  323. right: 100px;
  324. z-index: 1;
  325. }
  326. div.weekly div.copyprogress {
  327. position: absolute;
  328. top: 0px;
  329. display: inline-block;
  330. width: calc(100% - 80px);
  331. height: 15px;
  332. background-color: yellow;
  333. top: 0px;
  334. border-radius: 2px;
  335. box-shadow: inset 1px 1px 2px black;
  336. }
  337. div.copyprogress div[name='copyschedule'] {
  338. position: absolute;
  339. color: white;
  340. top: 0px;
  341. left: 200px;
  342. width: 100px;
  343. height: 15px;
  344. padding: 0px;
  345. border-radius: 10px;
  346. text-align: center;
  347. background-color: black;
  348. }
  349. div.weekdays {
  350. position: absolute;
  351. top: 15px;
  352. width: calc(100% - 80px);
  353. height: 55px;
  354. background-color: darkorange;
  355. text-align: center;
  356. }
  357. div.week1,
  358. div.week2 {
  359. display: inline-block;
  360. width: 45%;
  361. height: 55px;
  362. background-color: darkorange;
  363. text-align: justify;
  364. border: 1px dashed lightgrey;
  365. padding-left: 10px;
  366. padding-right: 10px;
  367. }
  368. div.week1:after, div.week2:after{
  369. content: '';
  370. display: inline-block;
  371. width: 100%;
  372. }
  373. div.week1 {
  374. position: relative;
  375. left: -10px;
  376. }
  377. div.week2 {
  378. position: relative;
  379. left: 10px;
  380. }
  381. div.week1 > div, div.week2 > div{
  382. display: inline-block;
  383. text-align: center;
  384. width: 10%;
  385. height: 40px;
  386. color: white;
  387. margin-top: 5px;
  388. font-weight: bolder;
  389. }
  390. div.week1 > div{
  391. box-shadow: 0px 0px 10px white inset;
  392. }
  393. div.week2 > div{
  394. background-color: dodgerblue;
  395. box-shadow: 0px 0px 10px white inset;
  396. }
  397. div.sheettableheader{
  398. margin-top: 0px;
  399. height: 30px;
  400. background-color: lightgrey;
  401. overflow-x: hidden;
  402. overflow-y: scroll;
  403. }
  404. div.bday, div.bdate, div.btos, div.bstart, div.bfinish, div.bhours, div.bstaff, div.bclients, div.bconfirmed, div.bdelete{
  405. display: block;
  406. float: left;
  407. background-color: black;
  408. text-align: center;
  409. border: 1px dotted white;
  410. font-weight: bolder;
  411. font-size: 20px;
  412. color: white;
  413. /* box-shadow: 1px 1px 10px black; */
  414. width:10%;
  415. height: 30px;
  416. }
  417. div.bdelete, div.bconfirmed{
  418. width: 5%;
  419. }
  420. div.btos{
  421. width: 20%;
  422. }
  423. div.assignment > div{
  424. color:navy;
  425. background-color: white;
  426. font-size: 20px;
  427. font-weight: lighter;
  428. border: 1px dotted lightgrey;
  429. }