blob: 8cd8e34740b6b15336755d0b13d3001dffe30eae [file] [log] [blame]
Davit Tabidze71eecce2024-06-25 15:00:55 +04001:root {
2 --bg: #d6d6d6;
3 --formBg: #3a3a3a;
4 --text: #3a3a3a;
5 --formText: #d6d6d6;
6 --button: #7f9f7f;
7 --logo: #d4888d;
8 --fontSize: 14px;
9}
10
11body {
12 background: var(--bg);
13 color: var(--text);
14 margin: 0;
15 display: flex;
16 min-height: 100vh;
17 font-family: Hack, monospace;
18 font-size: var(--fontSize);
19}
20
Davit Tabidzeaec6d8a2024-07-29 18:30:09 +040021input,
22textarea,
23select {
gio96335832024-07-12 20:07:42 +040024 font-family: Hack, monospace;
25 font-size: var(--fontSize);
26}
27
Davit Tabidze71eecce2024-06-25 15:00:55 +040028a {
29 color: inherit;
30 text-decoration: none;
31}
32
33.container {
34 display: flex;
35 flex-direction: column;
36 flex: 1;
37 position: relative;
38 width: 100%;
39}
40
41.navbar {
42 display: flex;
43 align-items: center;
44 justify-content: space-between;
45 position: sticky;
46 top: 0;
47 background-color: var(--bg);
48 border-bottom: 1px dashed var(--formBg);
49 padding: 0 20px;
50 z-index: 100;
51}
52
53.logo {
54 font-weight: bold;
55 font-size: 1.6rem;
56 align-content: center;
57 height: 100%;
58 background-color: var(--formBg);
59}
60
61.logo a {
62 padding-left: 15px;
63 padding-right: 15px;
64}
65
66.links {
67 display: flex;
68 align-items: center;
69 height: 100%;
70}
71
72.links a {
73 border-right: 1px dashed var(--formBg);
74 padding: 0 20px;
75 height: 100%;
76 align-content: center;
77}
78
79.links a:hover {
80 transform: scaleX(1);
81 text-decoration-line: underline;
82 text-decoration-color: var(--logo);
83}
84
85.logo-part1 {
86 color: var(--bg);
87}
88
89.logo-part2 {
90 color: var(--logo);
91}
92
93/* FACTS Grid Container */
94
95.facts-content {
96 display: flex;
97 flex-grow: 1;
98}
99
100.grid-container {
101 display: grid;
102 grid-template-columns: repeat(4, 1fr);
103 grid-template-rows: repeat(4, 1fr);
104 grid-template-areas:
105 "fact-1 large-box large-box large-box"
106 "fact-2 large-box large-box large-box"
107 "fact-3 large-box large-box large-box"
108 "fact-4 fact-5 fact-6 fact-7";
109 padding: 0 20px;
110}
111
112.facts {
113 border: 1px dashed var(--formBg);
114 display: flex;
115 justify-content: center;
116 border-top: none !important;
117 flex-direction: column;
118 transition: background-color 0.5s ease, color 0.5s ease;
119}
120
121.fact-image-box {
122 grid-area: large-box;
123 display: flex;
124 justify-content: center;
125 align-items: center;
126 border-right: 1px dashed var(--formBg);
127 border-bottom: 1px dashed var(--formBg);
128 padding: 5px;
129}
130
131.fact-image {
132 max-width: 80%;
133 max-height: 80%;
134 object-fit: cover;
135 transition: opacity 0.3s ease-in-out;
136 opacity: 1;
137}
138
139.fade-out {
140 opacity: 0;
141}
142
143.fact-1 {
144 grid-area: fact-1;
145}
146.fact-2 {
147 grid-area: fact-2;
148}
149.fact-3 {
150 grid-area: fact-3;
151}
152.fact-4 {
153 grid-area: fact-4;
154}
155.fact-5 {
156 grid-area: fact-5;
157 border-left: none !important;
158}
159.fact-6 {
160 grid-area: fact-6;
161 border-left: none !important;
162}
163.fact-7 {
164 grid-area: fact-7;
165 border-left: none !important;
166}
167
168.no-bottom-border {
169 border-bottom: none !important;
170}
171
172.fact-title {
173 display: block;
174 margin: 4px;
175 font-weight: bold;
176 padding-left: 1rem;
177}
178
179.facts p {
180 margin: 4px;
181 padding-left: 1rem;
182}
183
184.active-fact {
185 background-color: var(--button);
186 cursor: pointer;
187}
188
189/* Responsive adjustments */
190@media (max-width: 768px) {
191 .grid-container {
192 grid-template-columns: 1fr;
193 grid-template-rows: auto;
194 grid-template-areas:
195 "large-box"
196 "fact-1"
197 "fact-2"
198 "fact-3"
199 "fact-4"
200 "fact-5"
201 "fact-6"
202 "fact-7";
203 }
204
205 .fact-image-box {
206 position: sticky;
207 top: 30px;
208 z-index: 10;
209 background: var(--bg);
210 border-left: 1px dashed var(--formBg) !important;
211 }
212
213 .fact-5 {
214 grid-area: fact-5;
215 border-left: 1px dashed var(--formBg) !important;
216 }
217 .fact-6 {
218 grid-area: fact-6;
219 border-left: 1px dashed var(--formBg) !important;
220 }
221 .fact-7 {
222 grid-area: fact-7;
223 border-left: 1px dashed var(--formBg) !important;
224 }
225
226 .fact-title {
227 margin: 4px;
228 padding-top: 8px;
229 padding-bottom: 8px;
230 padding-left: 0.5rem;
231 }
232 .facts p {
233 margin: 4px;
234 padding-bottom: 8px;
235 padding-left: 0.5rem;
236 }
237}
238
239@media (max-width: 1200px) {
240 .fact-image {
241 max-width: 85%;
242 max-height: 85%;
243 }
244
245 .fact-image {
246 max-width: 80%;
247 max-height: 80%;
248 object-fit: cover;
249 transition: opacity 0.3s ease-in-out;
250 opacity: 1;
251 }
252
253 .fade-out {
254 opacity: 0;
255 }
256}
257
258@media (max-width: 992px) {
259 .fact-image {
260 max-width: 90%;
261 max-height: 90%;
262 }
263}
264
265@media (max-width: 768px) {
266 .fact-image {
267 max-width: 100%;
268 max-height: 100%;
269 }
270}
271
272/* FOOTER FORM START */
273
274.form-page {
275 display: flex;
276 justify-content: center;
277 align-items: center;
278 flex: 1;
279}
280
281.form-container {
282 max-width: 800px;
283 width: 100%;
284 padding: 20px;
285 background-color: var(--formBg);
286 color: var(--formText);
287 margin-left: 20px;
288 margin-right: 20px;
289}
290
291.footer-form {
292 background-color: var(--formBg);
293 padding: 20px;
294 display: flex;
295 justify-content: center;
Davit Tabidzeaec6d8a2024-07-29 18:30:09 +0400296 flex-direction: column;
297 align-items: center;
Davit Tabidze71eecce2024-06-25 15:00:55 +0400298}
299
300.form-container-footer {
301 width: 100%;
302 max-width: 800px;
303 background-color: var(--formBg);
304 color: var(--formText);
305}
306
307.form-container-footer h2 {
308 margin-bottom: 20px;
309 font-size: 24px;
310 color: var(--formText);
311}
312
313.form-group-footer {
314 display: flex;
315 justify-content: space-between;
Davit Tabidzeaec6d8a2024-07-29 18:30:09 +0400316 align-items: flex-start;
Davit Tabidze71eecce2024-06-25 15:00:55 +0400317 flex-direction: column;
318}
319
320.form-group-footer label {
321 display: block;
Davit Tabidze71eecce2024-06-25 15:00:55 +0400322 color: var(--formText);
323 margin-right: auto;
gio96335832024-07-12 20:07:42 +0400324 width: 100%;
Davit Tabidze71eecce2024-06-25 15:00:55 +0400325}
326
327.form-group-footer input,
328.form-group-footer textarea {
329 width: 100%;
Davit Tabidzeaec6d8a2024-07-29 18:30:09 +0400330 padding: 10px 10px 10px 1rem;
Davit Tabidze71eecce2024-06-25 15:00:55 +0400331 border: 1px solid var(--formText);
332 box-sizing: border-box;
333 color: var(--formText);
334 background-color: var(--formBg);
335 resize: vertical;
336}
337
Davit Tabidzeaec6d8a2024-07-29 18:30:09 +0400338.form-group-footer textarea {
339 margin-top: 10px;
340}
341
342.form-group-footer select {
343 padding: 10px 2.5rem 10px 1rem;
344 padding-inline-start: 1rem;
345 padding-inline-end: 2.5rem;
346 border: 1px solid var(--formText);
347 border-radius: 0;
348 outline: 0;
349 box-shadow: none;
350 background-color: var(--formBg);
351 -webkit-appearance: none;
352 -moz-appearance: none;
353 appearance: none;
354 box-sizing: border-box;
355 background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='rgb(136%2C%20145%2C%20164)'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpolyline%20points='6%209%2012%2015%2018%209'%20/%3E%3C/svg%3E");
356 background-repeat: no-repeat;
357 background-position: center right 0.75rem;
358 background-size: 1rem auto;
359}
360
gio96335832024-07-12 20:07:42 +0400361.form-group-footer input:focus,
Davit Tabidzeaec6d8a2024-07-29 18:30:09 +0400362.form-group-footer textarea:focus,
363.form-group-footer select:focus {
Davit Tabidze71eecce2024-06-25 15:00:55 +0400364 outline: none !important;
365 border: 1px solid var(--button);
366}
367
368.form-group-footer button {
369 width: auto;
370 padding: 10px 20px;
371 border: none;
372 background-color: var(--button);
373 color: var(--text);
374 font-size: 16px;
375 cursor: pointer;
376 margin-left: auto;
377}
378
379.form-group-footer button:hover {
380 background-color: #d4888d;
381}
382
Davit Tabidzeaec6d8a2024-07-29 18:30:09 +0400383input::placeholder,
384textarea::placeholder {
385 color: rgba(214, 214, 214, 0.6);
386 opacity: 1;
387}
388
389select option[disabled] {
390 color: rgba(214, 214, 214, 0.6);
391}
392
393select {
394 color: rgb(214, 214, 214);
395}
396
397select:invalid {
398 color: rgba(214, 214, 214, 0.6);
399}
400
401select:not(:invalid) {
402 color: rgb(214, 214, 214);
403}
404
405select option:not(:disabled) {
406 color: rgb(214, 214, 214);
407}
408
409input:disabled,
410select:disabled,
411textarea:disabled {
412 color: rgba(214, 214, 214, 0.6);
413 cursor: not-allowed;
414}
415
416button:disabled {
417 cursor: not-allowed;
418 opacity: 0.6;
419}
420
Davit Tabidze71eecce2024-06-25 15:00:55 +0400421/* FOOTER FORM END */
422
423/* APPS START */
424.apps-grid {
425 display: grid;
426 grid-template-columns: repeat(3, 1fr);
427 border: 1px dashed var(--formBg);
428 border-top: none !important;
429 margin-left: 20px;
430 margin-right: 20px;
431 overflow-y: auto;
432 overflow-x: hidden;
433 padding-top: 20px;
434 gap: 20px;
435}
436
437@media (max-width: 1200px) {
438 .apps-grid {
439 grid-template-columns: repeat(2, 1fr);
440 }
441}
442
443@media (max-width: 768px) {
444 .apps-grid {
445 grid-template-columns: repeat(1, 1fr);
446 }
447}
448
449.app-card {
450 background-color: var(--formBg);
451 color: var(--formText);
452 padding: 20px;
453 box-shadow: 0 2px 4px var(--formBg);
454 display: flex;
455 flex-direction: column;
456 justify-content: space-between;
457 height: 100%;
458 box-sizing: border-box;
459 position: relative;
460}
461
462.app-header {
463 display: flex;
464 justify-content: space-between;
465 align-items: center;
466 margin-bottom: 10px;
467}
468
469.app-header h2 {
470 margin: 0;
471 font-size: 1.5em;
472}
473
474.app-icon {
475 width: 45px;
476 height: 45px;
477 display: flex;
478 align-items: center;
479 color: var(--logo);
480}
481
482.app-card p {
483 margin: 10px 0;
484 flex-grow: 1;
485}
486
487.app-card a {
488 display: inline-block;
489 color: var(--button);
490 text-decoration: underline;
491 margin-top: auto;
492}
493
494/* SINGLE APP START */
495.app-detail {
496 padding: 20px;
497}
498
499.app-detail h1 {
500 margin-top: 0;
501}
502
503.app-card-link {
504 position: absolute;
505 top: 0;
506 left: 0;
507 width: 100%;
508 height: 100%;
509 z-index: 1;
510}
511
512/* SINGLE APP END */
513
514/* APPS END */
515
516/* ABOUT START */
517
518.about {
519 padding: 0 20px;
520}
521
522/* ABOUT END */
Davit Tabidzeaec6d8a2024-07-29 18:30:09 +0400523
524/* SECCESFULL REGISTRATION START */
525
526.registration-outcome {
527 display: flex;
528 flex-direction: column;
529 align-items: stretch;
530}
531
532.registration-outcome button {
533 font-size: 16px;
534 cursor: pointer;
535 background-color: var(--bg);
536 border-radius: 0;
537 border: 0;
538 height: 30px;
539 font-family: Hack, monospace;
540 color: #3a3a3a;
541 display: flex;
542 align-items: center;
543 justify-content: start;
544}
545
546.registration-outcome h3 {
547 margin: 0;
548 margin-bottom: 15px;
549}
550
551.registration-outcome .pass {
552 display: flex;
553}
554
555.registration-outcome svg {
556 color: var(--button);
557 margin-left: 5px;
558}
559
560.tooltip {
561 position: absolute;
562 background-color: #333;
563 color: #fff;
564 padding: 5px 10px;
565 border-radius: 4px;
566 white-space: nowrap;
567 opacity: 0;
568 visibility: hidden;
569 transition: opacity 0.3s;
570 font-size: 14px;
571}
572
573/* SECCESFULL REGISTRATION END */
574
575.reg-inputs {
576 display: grid;
577 grid-template-columns: 1fr 1fr 1fr;
578 gap: 10px;
579 margin-bottom: 10px;
580 width: 100%;
581}
582
583@media (max-width: 768px) {
584 .reg-inputs {
585 grid-template-columns: 1fr;
586 width: 100%;
587 }
588}
589
590#create-app-button {
591 display: flex;
592 align-items: center;
593 margin-top: 5px;
594}
595
596#error-message {
597 margin: 0 0 10px 0;
598 color: var(--logo);
599 display: none;
600}
601
602.animated-spinner g {
603 animation: rotate 2s linear infinite;
604 transform-origin: center center;
605}
606
607.animated-spinner circle {
608 stroke-dasharray: 75, 100;
609 stroke-dashoffset: -5;
610 animation: dash 1.5s ease-in-out infinite;
611 stroke-linecap: round;
612}
613
614@keyframes rotate {
615 0% {
616 transform: rotate(0deg);
617 }
618 100% {
619 transform: rotate(360deg);
620 }
621}
622
623@keyframes dash {
624 0% {
625 stroke-dasharray: 1, 100;
626 stroke-dashoffset: 0;
627 }
628 50% {
629 stroke-dasharray: 44.5, 100;
630 stroke-dashoffset: -17.5;
631 }
632 100% {
633 stroke-dasharray: 44.5, 100;
634 stroke-dashoffset: -62;
635 }
636}