Tue, 03 Jan 2023 18:19:40 +0100
simplify project-details view
1 /*
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3 *
4 * Copyright 2021 Mike Becker. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 * POSSIBILITY OF SUCH DAMAGE.
27 *
28 */
30 @font-face {
31 font-family: LightPIT;
32 src: url('fonts/MPLUS1p-Thin.ttf');
33 font-weight: 100;
34 }
36 @font-face {
37 font-family: LightPIT;
38 src: url('fonts/MPLUS1p-Light.ttf');
39 font-weight: 300;
40 }
42 @font-face {
43 font-family: LightPIT;
44 src: url('fonts/MPLUS1p-Regular.ttf');
45 font-weight: 400;
46 }
48 @font-face {
49 font-family: LightPIT;
50 src: url('fonts/MPLUS1p-Medium.ttf');
51 font-weight: 500;
52 }
54 @font-face {
55 font-family: LightPIT;
56 src: url('fonts/MPLUS1p-Bold.ttf');
57 font-weight: 700;
58 }
60 html {
61 font-family: LightPIT,sans-serif;
62 font-size: 11pt;
63 background: white;
64 color: #1c204e;
65 margin: 0;
66 padding: 0;
67 height: 100vh;
68 }
70 body {
71 height: 100%;
72 margin: 0;
73 padding: 0;
74 }
76 textarea, input, button, select {
77 font-family: inherit;
78 font-size: inherit;
79 }
81 a {
82 cursor: pointer;
83 color: #3060f8;
84 text-decoration: none;
85 }
87 #body-area {
88 display: grid;
89 grid-template-columns: min-content auto;
90 grid-template-rows: max-content 1fr;
91 height: 100%;
92 }
94 #mainMenu {
95 grid-row: 1;
96 grid-column: 1 / span 2;
97 width: 100%;
98 display: flex;
99 flex-flow: row wrap;
100 border-image-source: linear-gradient(to right, #606060, rgba(60, 60, 60, .25));
101 border-image-slice: 1;
102 border-bottom-style: solid;
103 border-bottom-width: thin;
104 font-size: 1.2rem;
105 background: #e0e0e5;
106 }
108 #sideMenu {
109 grid-row: 2;
110 grid-column: 1;
111 min-width: 15vw;
112 display: flex;
113 flex-flow: column;
114 color: #3060f8;
115 border-image-source: linear-gradient(to bottom, #606060, rgba(60, 60, 60, .25));
116 border-image-slice: 1;
117 border-right-style: solid;
118 border-right-width: thin;
119 background: #f7f7ff;
120 }
122 #sideMenuFiller {
123 grid-row: 2;
124 grid-column: 1;
125 }
127 #mainMenu .menuEntry {
128 padding: .25em 1em .25em 1em;
129 border-right-style: solid;
130 border-right-width: thin;
131 border-right-color: #9095a1;
132 }
134 #sideMenu .menuEntry {
135 white-space: nowrap;
136 padding-right: 2em;
137 padding-top: .25em;
138 padding-bottom: .25em;
139 border-bottom-style: solid;
140 border-bottom-width: thin;
141 border-bottom-color: #d7d7df;
142 }
144 #mainMenu .menuEntry[data-active] {
145 background: #d0d0d5;
146 }
148 #sideMenu .menuEntry[data-active] {
149 background: #e7e7ef
150 }
152 #sideMenu .level-0 {
153 padding-left: .75em;
154 }
156 #sideMenu .level-1 {
157 padding-left: 1.25em;
158 }
160 #sideMenu .level-2 {
161 padding-left: 2.5em;
162 }
164 #content-area {
165 grid-row: 2;
166 grid-column: 2;
167 padding: 1.5em;
168 }
170 button, a.button {
171 display: inline-block;
172 font-size: medium;
173 border-style: solid;
174 border-width: thin;
175 border-color: #606060;
176 color: inherit;
177 background: #f0f0f0;
179 padding: .25em .5em .25em .5em;
180 cursor: default;
181 text-decoration: none;
182 text-align: center;
183 font-variant-caps: small-caps;
184 }
186 button:hover, a.button:hover {
187 background: #f0f0ff;
188 }
190 button[data-toggle], a.button[data-toggle] {
191 border-color: #1040a0;
192 background: #d0d0d5;
193 }
195 button[type=submit], a.button.submit {
196 background: #20a0ff;
197 color: white;
198 }
200 button[type=submit]:hover, a.button.submit:hover {
201 background: #1090cf;
202 }
204 th {
205 text-align: left;
206 }
208 table.datatable {
209 border-style: solid;
210 border-width: thin;
211 border-color: silver;
212 border-collapse: collapse;
213 }
215 table.datatable th {
216 white-space: nowrap;
217 font-weight: bold;
218 background: #f7f7ff;
219 }
221 table.datatable th, table.datatable td {
222 border-style: solid;
223 border-width: thin;
224 border-color: lightgray;
225 padding: .4em;
226 }
228 table.datatable tr:nth-child(2n) {
229 background: #faffff;
230 }
232 table.formtable {
233 border-style: none;
234 border-collapse: separate;
235 border-spacing: 1em;
236 }
238 table.formtable th {
239 font-weight: bold;
240 text-align: left;
241 vertical-align: center;
242 white-space: nowrap;
243 }
245 table.formtable tbody td > * {
246 margin: 0;
247 box-sizing: border-box;
248 }
250 table.formtable input[type=text],
251 table.formtable input[type=number],
252 table.formtable select,
253 table.formtable textarea {
254 width: 100%;
255 }
257 table.formtable tfoot td {
258 text-align: right;
259 }
261 .fullwidth {
262 width: 100%;
263 }
265 .vtop {
266 vertical-align: top;
267 }
269 .hcenter {
270 text-align: center;
271 }
273 .hright {
274 text-align: right;
275 }
277 .smalltext {
278 font-size: smaller;
279 }
281 .nowrap {
282 white-space: nowrap;
283 }
285 .medskip {
286 margin-top: .5em;
287 }
289 .info-box, .error-box, .warn-box {
290 margin: 1.5em;
291 border-style: dashed;
292 border-width: thin;
293 border-color: deepskyblue;
294 padding: 1em;
295 }
297 .error-box {
298 border-style: outset;
299 border-color: red;
300 background: lightcoral;
301 }
303 .warn-box {
304 border-style: outset;
305 border-color: gold;
306 background: lightgoldenrodyellow;
307 }
309 .table {
310 display: table;
311 border-spacing: .5em;
312 margin: -.5em;
313 }
315 .row {
316 display: table-row;
317 }
319 .caption {
320 font-weight: bold;
321 }
323 .row > div {
324 display: table-cell;
325 }
327 /* MARKDOWN STYLES */
329 div.markdown-styled p:first-child {
330 margin-top: 0;
331 }
333 div.markdown-styled table {
334 border-collapse: collapse;
335 }
337 div.markdown-styled td,
338 div.markdown-styled th {
339 padding: 0.25em;
340 border-style: solid;
341 border-color: darkgray;
342 border-width: thin;
343 }