Projet

Général

Profil

0001-split-wcs.scss-isolate-nearby-form-module-37704.patch

Thomas Jund, 16 novembre 2019 18:41

Télécharger (31,3 ko)

Voir les différences:

Subject: [PATCH] split wcs.scss: isolate nearby-form module (#37704)

 Makefile                              |   2 +-
 static/includes/_wcs.scss             | 834 +-------------------------
 static/includes/wcs/_bulk.scss        | 760 +++++++++++++++++++++++
 static/includes/wcs/_nearby-form.scss |  82 +++
 4 files changed, 845 insertions(+), 833 deletions(-)
 create mode 100644 static/includes/wcs/_bulk.scss
 create mode 100644 static/includes/wcs/_nearby-form.scss
Makefile
25 25

  
26 26
%.css: export LC_ALL=C.UTF-8
27 27
.SECONDEXPANSION:
28
%.css: %.scss $(wildcard static/includes/*.scss) static/includes/_data_uris.scss static/lille/_data_uris.scss static/lomme/_data_uris.scss static/hellemmes/_data_uris.scss static/toodego/_data_uris.scss $$(wildcard $$(@D)/*.scss)
28
%.css: %.scss $(wildcard static/includes/*.scss  static/includes/*/*.scss) static/includes/_data_uris.scss static/lille/_data_uris.scss static/lomme/_data_uris.scss static/hellemmes/_data_uris.scss static/toodego/_data_uris.scss $$(wildcard $$(@D)/*.scss)
29 29
	sassc --sourcemap $< $@
30 30

  
31 31
css: $(shell python get_themes.py) static/portal-agent/css/agent-portal.css
static/includes/_wcs.scss
1 1
@import 'grid';
2

  
3
// $form-sidebar-position: position of sidebar (tracking code + steps)
4
// possible values are: left, right, top
5
$form-sidebar-position: left !default;
6

  
7
$responsive-steps: horizontal !default;
8

  
9
// hide a bunch of elements
10
div#droite,
11
div#services > h3,
12
div#steps h2,
13
div#sidebox div#links {
14
	display: none;
15
}
16

  
17
// general layout
18

  
19
div#gauche, div#rub_service {
20
	margin-top: 15px;
21
}
22

  
23
div#rub_service {
24
	background: $body-background;
25
}
26

  
27
@if ($form-sidebar-position == top) {
28
	div#gauche {
29
		text-align: center;
30
		div#tracking-code {
31
			display: inline-block;
32
			min-width: 15rem;
33
			a {
34
				padding-left: 0;
35
			}
36
		}
37
	}
38
} @else {
39
	div#gauche {
40
		clear: both;
41
		width: 18.5%;
42
		@if ($form-sidebar-position == left) {
43
			float: left;
44
		} @else {
45
			float: right;
46
		}
47
	}
48

  
49
	div#gauche + div#rub_service {
50
		width: 79.5%;
51
		clear: none;
52
		@if ($form-sidebar-position == left) {
53
			float: right;
54
		} @else {
55
			float: left;
56
		}
57
	}
58
}
59

  
60
// style homepage blocks
61
div#services > ul {
62
	@include vendor-prefix('column-count', '2');
63
	padding: 0;
64
	margin: 0;
65
	list-style: none;
66
	@media screen and (max-width: $mobile-limit) {
67
		@include vendor-prefix('column-count', '1');
68
	}
69
}
70

  
71
div#services > ul > li {
72
	display: inline-block;
73
}
74

  
75
div#services ul li li {
76
	list-style: none;
77
}
78

  
79
div#services > ul > li {
80
	margin: 0;
81
	margin-bottom: 10px;
82
	width: 100%;
83
}
84

  
85
div#tracking-code h3,
86
div#rub_service h2 {
87
	@extend %title;
88
}
89

  
90
div.large div#rub_service h3,
91
div#rub_service h3 {
92
	border: none;
93
	text-align: left;
94
	border-bottom: 2px solid $title-background;
95
}
96

  
97
div#rub_service div.dataview,
98
div#rub_service dl#evolutions,
99
div#rub_service form {
100
	padding: 0.5rem;
101
}
102

  
103
div#rub_service div.dataview div.title h3 {
104
	font-size: 115%;
105
	border: 0;
106
}
107

  
108
div#rub_service div.dataview div.subtitle h4 {
109
	font-size: 110%;
110
}
111

  
112
div#rub_service div.dataview div.field.status {
113
	clear: both;
114
}
115

  
116
// tracking code
117
div#tracking-code {
118
	div.tracking-code-part + form {
119
		margin-top: 1em;
120
	}
121
}
122

  
123
div#tracking-code a {
124
	font-size: 150%;
125
	display: inline-block;
126
	padding: 0.3em 0 0 0.3em;
127
	color: #444;
128
}
129

  
130
div#tracking-code {
131
	margin-bottom: 1em;
132
}
133

  
134
div#services div.block-custom-text {
135
	margin: 1em;
136
}
137

  
138
// steps
139
div#steps ol {
140
	margin: 0;
141
	padding: 0;
142
	list-style: none;
143
	color: #868686;
144

  
145
	& li {
146
		border: 0;
147
		border-bottom: 1px solid #ccc;
148
		margin-bottom: 1.5em;
149
		border-radius: $border-radius;
150
		padding: 0.7em;
151
		letter-spacing: 1px;
152
	}
153
	& li.current {
154
		border: 0;
155
		background: $title-background;
156
		color: $title-color;
157
		& span.label {
158
			font-weight: bold;
159
		}
160
	}
161
	& li span.marker {
162
		font-size: 250%;
163
		display: block;
164
	}
165
}
166

  
167

  
168
@if ($form-sidebar-position == top) {
169
	div#steps ol {
170
		text-align: center;
171
		li {
172
			display: inline-block;
173
			min-width: 7rem;
174
			max-width: 11rem;
175
			vertical-align: top;
176
			border-bottom: none;
177
		}
178
	}
179
}
180

  
181
@if ($responsive-steps == horizontal) {
182
@media screen and (max-width: $mobile-limit) {
183
	div#gauche {
184
		float: none;
185
		width: 100%;
186
	}
187
	div#side {
188
		display: flex;
189
		flex-direction: column;
190
		& > div { flex: 1 0 auto; }
191
	}
192
	div#tracking-code {
193
		font-size: 80%;
194
		order: 1;
195
		h3 { display: inline-block; }
196
		.text-tracking-code-short-text { display: none; }
197
	}
198
	div#steps {
199
		position: static;
200
		margin: 0;
201
		color: #aaa;
202
		white-space: nowrap;
203
		overflow: hidden;
204
		width: 100%;
205
		& ol {
206
			list-style: none;
207
			padding: 0 0;
208
			margin: 0;
209
			text-align: left;
210
			& li {
211
				border: none;
212
				display: inline-block;
213
				margin: 0;
214
				padding: 0 1em 0.7em 0;
215
				list-style: none;
216
				min-width: auto;
217
				border-radius: 0;
218
				& span.marker {
219
					float: none;
220
					display: inline;
221
					font-size: 26px;
222
					position: static;
223
					padding: 2px 9px;
224
					font-weight: bold;
225
					color: white;
226
					text-align: center;
227
					background: #ddd;
228
					border-radius: $border-radius;
229
					border: 1px solid #ddd;
230
				}
231
			}
232
			& li.current {
233
				background: inherit;
234
				color: inherit;
235
				& span.label {
236
					font-weight: normal;
237
				}
238
				& span.marker {
239
					background: $title-background;
240
					color: $title-color;
241
					border-radius: $border-radius;
242
				}
243
			}
244
			& li.step-before .label {
245
				display: none;
246
			}
247
		}
248
	}
249
}
250
}  // @endif ($responsive-steps == horizontal)
251

  
252
@media screen and (max-width: $mobile-limit) {
253
	div#gauche + div#rub_service,
254
	div#rub_service {
255
		width: 100%;
256
		margin: 0;
257
		float: none;
258
	}
259
	div#gauche {
260
		text-align: left;
261
		div#tracking-code a {
262
			padding-left: 0.3em;
263
		}
264
	}
265
}
266

  
267
li.required-authentication span {
268
	display: none;
269
}
270

  
271
li.required-authentication a:after {
272
	content: "\f084";
273
	font-family: FontAwesome;
274
	position: absolute;
275
	right: 0.7em;
276
	color: #444;
277
}
278

  
279
ul#evolutions,
280
div.gru-content #disclose-dataview,
281
div#receipt-intro {
282
	margin: 1em;
283
	padding: 0;
284
	display: block;
285
}
286

  
287
div.qommon-map {
288
	height: 280px;
289
}
290

  
291
p.use-file-from-fargo span {
292
	cursor: pointer;
293
	border-bottom: 1px dotted #999;
294
}
295

  
296
// journal
297
ul#evolutions {
298
	list-style: none;
299
	padding: 0;
300
	margin: 0;
301
	position: relative;
302
}
303

  
304
#evolutions:after {
305
	// the vertical timeline itself
306
	content: "";
307
	background: #bbb;
308
	position: absolute;
309
	width: 1px;
310
	top: 40px;
311
	left: 30px;
312
	height: calc(100% - 40px);
313
	z-index: 0;
314
	border-radius: 3px;
315
}
316

  
317
ul#evolutions > li {
318
	list-style-image: none;
319
	margin: 1em 0 2em 0;
320
	z-index: 10;
321
	position: relative;
322
	li {
323
		margin: 1rem 0;
324
	}
325
}
326

  
327
ul#evolutions > li:after {
328
	// li:after, horizontal line, from the timeline to the item
329
	content: "";
330
	background: #bbb;
331
	position: absolute;
332
	width: 100px;
333
	left: 30px;
334
	top: 39px;
335
	height: 1px;
336
	z-index: -10;
337
}
338

  
339
ul#evolutions div.evolution-metadata {
340
	width: auto;
341
	display: inline-block;
342
	background: $body-background;
343
	margin-left: 60px;
344
	padding: 0.7em;
345
	padding-top: 30px;
346
	padding-bottom: 0;
347
	margin-bottom: 0;
348
}
349

  
350
ul#evolutions span.time {
351
	display: block;
352
	color: #aaa;
353
}
354

  
355
ul#evolutions li div.msg span.time {
356
	padding-left: 0;
357
}
358

  
359
ul#evolutions span.status {
360
	font-weight: bold;
361
	display: inline-block;
362
}
363

  
364
ul#evolutions span.user {
365
	display: block;
366
	opacity: 0.5;
367
}
368

  
369
ul#evolutions span.user span {
370
	font-size: 80%;
371
}
372

  
373
ul#evolutions li div.msg {
374
	padding: 0.7em;
375
	padding-top: 0;
376
	position: relative;
377
	background: $body-background;
378
	margin-left: 60px;
379
	margin-right: 30px;
380
	p.wf-attachment {
381
		overflow: hidden;
382
		text-overflow: ellipsis;
383
	}
384
}
385

  
386
ul#evolutions li.msg-in div.msg {
387
}
388

  
389
ul#evolutions li.msg-out div.msg {
390
}
391

  
392
ul#evolutions li div.msg div.comment {
393
	padding: 0.7em 1em;
394
	background: #EEEEEE;
395
}
396

  
397
#evolutions .msg-system {
398
	margin-bottom: 30px;
399
}
400

  
401
ul#evolutions li span.item {
402
	// left circle icon
403
	box-sizing: border-box;
404
	position: absolute;
405
	text-align: center;
406
	width: 31px;
407
	height: 31px;
408
	display: block;
409
	left:  15px;
410
	border-radius: 20px;
411
	border: 1px solid #888;
412
	top: 24px;
413
	background: $button-color !important;
414
	box-shadow: 0 0 0px 5px $body-background;
415
	&::before {
416
		content: "";
417
		display: block;
418
		width: 7px;
419
		height: 7px;
420
		background: $primary-color;
421
		position: relative;
422
		left: 11px;
423
		top: 11px;
424
		border-radius: 5px;
425
	}
426
}
427

  
428
div.dataview {
429
	div.field {
430
		margin-bottom: 0.7em;
431
	}
432
	span.label {
433
		font-weight: bold;
434
	}
435
	.value {
436
		display: block;
437
		margin-left: 0.7em;
438
	}
439
}
440

  
441
form div.errornotice {
442
	margin-top: 0;
443
}
444

  
445
// classes to be used in forms (legacy, grid system to be preferred)
446
div.halfwidth {
447
	width: 45%;
448
	float: left;
449
}
450

  
451
div.widget.halfwidth.right {
452
	clear: none;
453
	margin-left: 5%;
454
}
455

  
456
div.fullwidth {
457
	width: 95%;
458
}
459

  
460
div.halfwidth,
461
div.fullwidth {
462
	textarea, select, input {
463
		width: 100%;
464
	}
465
}
466

  
467
div.buttons,
468
div.dataview > p,
469
div.dataview div.page {
470
	clear: both;
471
}
472

  
473
form div.page::after,
474
div.dataview div.page::after {
475
	content: "";
476
	display: block;
477
	clear: both;
478
}
479

  
480
div.form-validation div.page {
481
	background: #f0f0f0;
482
	padding-left: 0.7em;
483
	box-sizing: border-box;
484
}
485

  
486
div.form-validation div.page > h3 {
487
	padding-top: 0.7em;
488
	font-size: 140%;
489
}
490

  
491
div#rub_service div.form-validation div.page div h3 {
492
	border-bottom-width: 1px;
493
}
494

  
495
label.activity {
496
	display: block;
497
	background: url(/static/img/spinner.gif) no-repeat top right;
498
	padding-right: 30px;
499
}
500

  
501
span.geoloc-error {
502
	padding-left: 0.7em;
503
	font-weight: normal;
504
	font-size: smaller;
505
	float: right;
506
	@media screen and (max-width: $mobile-limit) {
507
		padding-left: 0;
508
		float: none;
509
		display: block;
510
		z-index: 100;
511
		background: red;
512
		color: white;
513
		text-align: center;
514
	}
515
}
516

  
517
.fileprogress {
518
	border: 1px solid #888;
519
}
520

  
521
.fileprogress {
522
	.bar {
523
		background: $button-background;
524
		line-height: 1.5em;
525
		padding-left: 0.7em;
526
		white-space: nowrap;
527
		transition: background linear 0.1s;
528
		box-sizing: border-box;
529
	}
530
	&.upload-error .bar {
531
		background: #FF7575;
532
		color: black;
533
		width: 100% !important;
534
		white-space: normal;
535
	}
536
}
537

  
538
.fileinfo {
539
	line-height: 1.5em;
540
	height: 100%;
541
}
542

  
543
div.fileinfo a.remove {
544
	text-indent: 0;
545
	background: none;
546
	color: transparent;
547
	display: inline-block;
548
	width: 16px;
549
	position: relative;
550
	text-indent: -10000px;
551
	&::before {
552
		font-family: FontAwesome;
553
		content: "\f057";  // times-circle
554
		color: $button-background;
555
		text-indent: 0;
556
		position: absolute;
557
		top: 0;
558
		left: 0;
559
	}
560
}
561

  
562
div.RankedItemsWidget label input {
563
	margin-right: 1em;
564
}
565

  
566
div.RadiobuttonsWidget, div.SingleSelectHintWidget,
567
div.SingleSelectWidget, div.SingleSelectWidgetWithOther {
568
	&.hidden {
569
		display: none !important;
570
	}
571
}
572

  
573
div.CheckboxesWidget div.content ul li.disabled {
574
	color: lighten($font-color, 50);
575
}
576

  
577
div.RadiobuttonsWidget div.content input[disabled] + span {
578
	color: lighten($font-color, 50);
579
}
580

  
581
div.file-upload-widget {
582
	&:not([class*="grid-"]) {
583
		div.file-button {
584
			max-width: 500px;
585
		}
586
	}
587
	div.file-button {
588
		overflow: hidden;
589
		background: $widget-background;
590
		margin: 0;
591
		box-sizing: border-box;
592
		border: $widget-border;
593
		border-radius: $widget-border-radius;
594
		&:focus-within {
595
			border: $widget-focus-border;
596
			@if $widget-focus-outline == none {
597
				outline: $widget-border;
598
				outline-style: dotted;
599
			} @else {
600
				outline: $widget-focus-outline;
601
				outline-offset: $widget-focus-outline-offset;
602
			}
603
		}
604
		height: 150px;
605
		position: relative;
606
		text-align: center;
607
		div.widget.FileWidget {
608
			margin-bottom: 0;
609
		}
610
		input {
611
			position: absolute;
612
			top: 0;
613
			left: 0;
614
			width: 100%;
615
			height: 100%;
616
			opacity: 0.001;
617
			margin: 0;
618
			font-size: 0;
619
			cursor: pointer;
620
		}
621
		div.upload-done {
622
			display: none;
623
		}
624
		div.click-to-upload {
625
			display: block;
626
		}
627
		div.widget-message {
628
			padding-top: 20px;
629
			&::before {
630
				pointer-events: none;
631
				content: "\f016";  // file-o
632
				font-family: FontAwesome;
633
				font-size: 40px;
634
				display: block;
635
				padding-top: 20px;
636
				padding-bottom: 10px;
637
			}
638
			&::after {
639
				pointer-events: none;
640
				content: "\f055";  // plus-circle
641
				font-family: FontAwesome;
642
				font-size: 20px;
643
				display: block;
644
				position: absolute;
645
				left: calc(50% + 10px);
646
				top: 30px;
647
				color: $button-background;
648
			}
649
			&.upload-done::after {
650
				content: "\f05d";  // check-circle-o
651
			}
652
		}
653
		&.file-image div.widget-message::before {
654
			content: "\f1c5";  // file-image-o
655
		}
656
	}
657
	&.short div.file-button {
658
		height: 110px;
659
		div.widget-message {
660
			padding-top: 0px;
661
			&::before {
662
				padding-top: 10px;
663
			}
664
			&::after {
665
				top: 5px;
666
			}
667
		}
668
	}
669
	&.has-file {
670
		div.file-button {
671
			div.upload-done {
672
				display: block;
673
			}
674
			div.click-to-upload {
675
				display: none;
676
			}
677
		}
678
	}
679
	&.widget-readonly {
680
		div.file-button {
681
			div.widget-message {
682
				display: none;
683
			}
684
			.fileinfo.thumbnail span.filename {
685
				display: none;
686
			}
687
			span.filename {
688
				position: absolute;
689
				top: 0;
690
				left: 0;
691
				width: 100%;
692
				display: block;
693
				padding-top: 30px;
694
				&::before {
695
					pointer-events: none;
696
					content: "\f016";  // file-o
697
					font-family: FontAwesome;
698
					font-size: 40px;
699
					display: block;
700
					padding-top: 40px;
701
					padding-bottom: 10px;
702
				}
703
			}
704
			img {
705
				max-height: 100%;
706
				position: relative;
707
				z-index: 10;
708
			}
709
		}
710
	}
711
	div.fileprogress {
712
		position: absolute;
713
		border: none;
714
		overflow: hidden;
715
		width: 100%;
716
		left: 0;
717
		bottom: 0;
718
	}
719
}
720

  
721
p.use-file-from-fargo {
722
	margin-top: 0;
723
}
724

  
725
div.section.foldable {
726
	margin-bottom: 1rem;
727
	> h2:first-child {
728
		&::after {
729
			font-family: FontAwesome;
730
			content: "\f106";  // angle-up
731
			position: absolute;
732
			right: 1em;
733
		}
734
		cursor: pointer;
735
		&:focus span.disclose-message,
736
		&:hover span.disclose-message {
737
			text-decoration: underline;
738
		}
739
	}
740
	span.disclose-message {
741
		padding-left: 1ex;
742
		font-size: 1rem;
743
		display: none;
744
	}
745
	&.folded {
746
		span.disclose-message {
747
			display: inline-block;
748
			@media screen and (max-width: $mobile-limit) {
749
				// never displayed on mobile as the small width
750
				// makes clear the relation between title and
751
				// open/close bracket.
752
				display: none;
753
			}
754
		}
755
		div {
756
			display: none;
757
		}
758
		> h2:first-child::after {
759
			content: "\f107";  // angle-down
760
		}
761
	}
762
}
763

  
764
.nearby-forms {
765
	margin: 0;
766
	padding: 0;
767
}
768

  
769
.nearby-form {
770
	margin: 5px auto;
771
	display: -ms-flexbox;
772
	display: flex;
773
	-ms-align-items: center;
774
	-ms-flex-align: center;
775
	align-items: center;
776
	-ms-flex-line-pack: center;
777
	align-content: center;
778
	-ms-flex-pack: space-between;
779
	-ms-justify-content: space-between;
780
	justify-content: space-between;
781
	border: $widget-border;
782
	padding: 5px;
783
}
784

  
785
.nearby-form--digest, .nearby-form--datetime, .nearby-form--marker-counter {
786
	margin: 0 5px;
787
}
788

  
789
.nearby-form--digest {
790
	width: 60%;
791
}
792
.nearby-form--datetime {
793
	width: 20%;
794
	@media screen and (max-width: $mobile-limit) {
795
		width: 30%;
796
	}
797
}
798
.nearby-form--marker-counter {
799
	background: $button-background;
800
	padding: 5px 10px;
801
	color: $button-color;
802
	min-width: 0.5em;
803
	max-width: 1em;
804
	border-radius: 3px;
805
}
806

  
807
.template-nearby-forms div.leaflet-div-icon {
808
	padding: 3px;
809
	margin: auto;
810
	border-radius: 3px;
811
	display: -ms-flexbox;
812
	display: flex;
813
	a {
814
		line-height: 1;
815
		margin: auto;
816
	}
817
}
818

  
819
.signalements-thanks ~ .buttons {
820
	.submit-button, .previous-button {
821
		display: none;
822
	}
823
	.cancel-button button {
824
		text-indent: -9999px;
825
		line-height: 0;
826
		&::after {
827
			text-indent: 0;
828
			line-height: initial;
829
			display: block;
830
			content: 'Continuer';
831
		}
832
	}
833
}
2
@import 'wcs/bulk';
3
@import 'wcs/nearby-form'
static/includes/wcs/_bulk.scss
1
// $form-sidebar-position: position of sidebar (tracking code + steps)
2
// possible values are: left, right, top
3
$form-sidebar-position: left !default;
4

  
5
$responsive-steps: horizontal !default;
6

  
7
// hide a bunch of elements
8
div#droite,
9
div#services > h3,
10
div#steps h2,
11
div#sidebox div#links {
12
	display: none;
13
}
14

  
15
// general layout
16

  
17
div#gauche, div#rub_service {
18
	margin-top: 15px;
19
}
20

  
21
div#rub_service {
22
	background: $body-background;
23
}
24

  
25
@if ($form-sidebar-position == top) {
26
	div#gauche {
27
		text-align: center;
28
		div#tracking-code {
29
			display: inline-block;
30
			min-width: 15rem;
31
			a {
32
				padding-left: 0;
33
			}
34
		}
35
	}
36
} @else {
37
	div#gauche {
38
		clear: both;
39
		width: 18.5%;
40
		@if ($form-sidebar-position == left) {
41
			float: left;
42
		} @else {
43
			float: right;
44
		}
45
	}
46

  
47
	div#gauche + div#rub_service {
48
		width: 79.5%;
49
		clear: none;
50
		@if ($form-sidebar-position == left) {
51
			float: right;
52
		} @else {
53
			float: left;
54
		}
55
	}
56
}
57

  
58
// style homepage blocks
59
div#services > ul {
60
	@include vendor-prefix('column-count', '2');
61
	padding: 0;
62
	margin: 0;
63
	list-style: none;
64
	@media screen and (max-width: $mobile-limit) {
65
		@include vendor-prefix('column-count', '1');
66
	}
67
}
68

  
69
div#services > ul > li {
70
	display: inline-block;
71
}
72

  
73
div#services ul li li {
74
	list-style: none;
75
}
76

  
77
div#services > ul > li {
78
	margin: 0;
79
	margin-bottom: 10px;
80
	width: 100%;
81
}
82

  
83
div#tracking-code h3,
84
div#rub_service h2 {
85
	@extend %title;
86
}
87

  
88
div.large div#rub_service h3,
89
div#rub_service h3 {
90
	border: none;
91
	text-align: left;
92
	border-bottom: 2px solid $title-background;
93
}
94

  
95
div#rub_service div.dataview,
96
div#rub_service dl#evolutions,
97
div#rub_service form {
98
	padding: 0.5rem;
99
}
100

  
101
div#rub_service div.dataview div.title h3 {
102
	font-size: 115%;
103
	border: 0;
104
}
105

  
106
div#rub_service div.dataview div.subtitle h4 {
107
	font-size: 110%;
108
}
109

  
110
div#rub_service div.dataview div.field.status {
111
	clear: both;
112
}
113

  
114
// tracking code
115
div#tracking-code {
116
	div.tracking-code-part + form {
117
		margin-top: 1em;
118
	}
119
}
120

  
121
div#tracking-code a {
122
	font-size: 150%;
123
	display: inline-block;
124
	padding: 0.3em 0 0 0.3em;
125
	color: #444;
126
}
127

  
128
div#tracking-code {
129
	margin-bottom: 1em;
130
}
131

  
132
div#services div.block-custom-text {
133
	margin: 1em;
134
}
135

  
136
// steps
137
div#steps ol {
138
	margin: 0;
139
	padding: 0;
140
	list-style: none;
141
	color: #868686;
142

  
143
	& li {
144
		border: 0;
145
		border-bottom: 1px solid #ccc;
146
		margin-bottom: 1.5em;
147
		border-radius: $border-radius;
148
		padding: 0.7em;
149
		letter-spacing: 1px;
150
	}
151
	& li.current {
152
		border: 0;
153
		background: $title-background;
154
		color: $title-color;
155
		& span.label {
156
			font-weight: bold;
157
		}
158
	}
159
	& li span.marker {
160
		font-size: 250%;
161
		display: block;
162
	}
163
}
164

  
165

  
166
@if ($form-sidebar-position == top) {
167
	div#steps ol {
168
		text-align: center;
169
		li {
170
			display: inline-block;
171
			min-width: 7rem;
172
			max-width: 11rem;
173
			vertical-align: top;
174
			border-bottom: none;
175
		}
176
	}
177
}
178

  
179
@if ($responsive-steps == horizontal) {
180
@media screen and (max-width: $mobile-limit) {
181
	div#gauche {
182
		float: none;
183
		width: 100%;
184
	}
185
	div#side {
186
		display: flex;
187
		flex-direction: column;
188
		& > div { flex: 1 0 auto; }
189
	}
190
	div#tracking-code {
191
		font-size: 80%;
192
		order: 1;
193
		h3 { display: inline-block; }
194
		.text-tracking-code-short-text { display: none; }
195
	}
196
	div#steps {
197
		position: static;
198
		margin: 0;
199
		color: #aaa;
200
		white-space: nowrap;
201
		overflow: hidden;
202
		width: 100%;
203
		& ol {
204
			list-style: none;
205
			padding: 0 0;
206
			margin: 0;
207
			text-align: left;
208
			& li {
209
				border: none;
210
				display: inline-block;
211
				margin: 0;
212
				padding: 0 1em 0.7em 0;
213
				list-style: none;
214
				min-width: auto;
215
				border-radius: 0;
216
				& span.marker {
217
					float: none;
218
					display: inline;
219
					font-size: 26px;
220
					position: static;
221
					padding: 2px 9px;
222
					font-weight: bold;
223
					color: white;
224
					text-align: center;
225
					background: #ddd;
226
					border-radius: $border-radius;
227
					border: 1px solid #ddd;
228
				}
229
			}
230
			& li.current {
231
				background: inherit;
232
				color: inherit;
233
				& span.label {
234
					font-weight: normal;
235
				}
236
				& span.marker {
237
					background: $title-background;
238
					color: $title-color;
239
					border-radius: $border-radius;
240
				}
241
			}
242
			& li.step-before .label {
243
				display: none;
244
			}
245
		}
246
	}
247
}
248
}  // @endif ($responsive-steps == horizontal)
249

  
250
@media screen and (max-width: $mobile-limit) {
251
	div#gauche + div#rub_service,
252
	div#rub_service {
253
		width: 100%;
254
		margin: 0;
255
		float: none;
256
	}
257
	div#gauche {
258
		text-align: left;
259
		div#tracking-code a {
260
			padding-left: 0.3em;
261
		}
262
	}
263
}
264

  
265
li.required-authentication span {
266
	display: none;
267
}
268

  
269
li.required-authentication a:after {
270
	content: "\f084";
271
	font-family: FontAwesome;
272
	position: absolute;
273
	right: 0.7em;
274
	color: #444;
275
}
276

  
277
ul#evolutions,
278
div.gru-content #disclose-dataview,
279
div#receipt-intro {
280
	margin: 1em;
281
	padding: 0;
282
	display: block;
283
}
284

  
285
div.qommon-map {
286
	height: 280px;
287
}
288

  
289
p.use-file-from-fargo span {
290
	cursor: pointer;
291
	border-bottom: 1px dotted #999;
292
}
293

  
294
// journal
295
ul#evolutions {
296
	list-style: none;
297
	padding: 0;
298
	margin: 0;
299
	position: relative;
300
}
301

  
302
#evolutions:after {
303
	// the vertical timeline itself
304
	content: "";
305
	background: #bbb;
306
	position: absolute;
307
	width: 1px;
308
	top: 40px;
309
	left: 30px;
310
	height: calc(100% - 40px);
311
	z-index: 0;
312
	border-radius: 3px;
313
}
314

  
315
ul#evolutions > li {
316
	list-style-image: none;
317
	margin: 1em 0 2em 0;
318
	z-index: 10;
319
	position: relative;
320
	li {
321
		margin: 1rem 0;
322
	}
323
}
324

  
325
ul#evolutions > li:after {
326
	// li:after, horizontal line, from the timeline to the item
327
	content: "";
328
	background: #bbb;
329
	position: absolute;
330
	width: 100px;
331
	left: 30px;
332
	top: 39px;
333
	height: 1px;
334
	z-index: -10;
335
}
336

  
337
ul#evolutions div.evolution-metadata {
338
	width: auto;
339
	display: inline-block;
340
	background: $body-background;
341
	margin-left: 60px;
342
	padding: 0.7em;
343
	padding-top: 30px;
344
	padding-bottom: 0;
345
	margin-bottom: 0;
346
}
347

  
348
ul#evolutions span.time {
349
	display: block;
350
	color: #aaa;
351
}
352

  
353
ul#evolutions li div.msg span.time {
354
	padding-left: 0;
355
}
356

  
357
ul#evolutions span.status {
358
	font-weight: bold;
359
	display: inline-block;
360
}
361

  
362
ul#evolutions span.user {
363
	display: block;
364
	opacity: 0.5;
365
}
366

  
367
ul#evolutions span.user span {
368
	font-size: 80%;
369
}
370

  
371
ul#evolutions li div.msg {
372
	padding: 0.7em;
373
	padding-top: 0;
374
	position: relative;
375
	background: $body-background;
376
	margin-left: 60px;
377
	margin-right: 30px;
378
	p.wf-attachment {
379
		overflow: hidden;
380
		text-overflow: ellipsis;
381
	}
382
}
383

  
384
ul#evolutions li.msg-in div.msg {
385
}
386

  
387
ul#evolutions li.msg-out div.msg {
388
}
389

  
390
ul#evolutions li div.msg div.comment {
391
	padding: 0.7em 1em;
392
	background: #EEEEEE;
393
}
394

  
395
#evolutions .msg-system {
396
	margin-bottom: 30px;
397
}
398

  
399
ul#evolutions li span.item {
400
	// left circle icon
401
	box-sizing: border-box;
402
	position: absolute;
403
	text-align: center;
404
	width: 31px;
405
	height: 31px;
406
	display: block;
407
	left:  15px;
408
	border-radius: 20px;
409
	border: 1px solid #888;
410
	top: 24px;
411
	background: $button-color !important;
412
	box-shadow: 0 0 0px 5px $body-background;
413
	&::before {
414
		content: "";
415
		display: block;
416
		width: 7px;
417
		height: 7px;
418
		background: $primary-color;
419
		position: relative;
420
		left: 11px;
421
		top: 11px;
422
		border-radius: 5px;
423
	}
424
}
425

  
426
div.dataview {
427
	div.field {
428
		margin-bottom: 0.7em;
429
	}
430
	span.label {
431
		font-weight: bold;
432
	}
433
	.value {
434
		display: block;
435
		margin-left: 0.7em;
436
	}
437
}
438

  
439
form div.errornotice {
440
	margin-top: 0;
441
}
442

  
443
// classes to be used in forms (legacy, grid system to be preferred)
444
div.halfwidth {
445
	width: 45%;
446
	float: left;
447
}
448

  
449
div.widget.halfwidth.right {
450
	clear: none;
451
	margin-left: 5%;
452
}
453

  
454
div.fullwidth {
455
	width: 95%;
456
}
457

  
458
div.halfwidth,
459
div.fullwidth {
460
	textarea, select, input {
461
		width: 100%;
462
	}
463
}
464

  
465
div.buttons,
466
div.dataview > p,
467
div.dataview div.page {
468
	clear: both;
469
}
470

  
471
form div.page::after,
472
div.dataview div.page::after {
473
	content: "";
474
	display: block;
475
	clear: both;
476
}
477

  
478
div.form-validation div.page {
479
	background: #f0f0f0;
480
	padding-left: 0.7em;
481
	box-sizing: border-box;
482
}
483

  
484
div.form-validation div.page > h3 {
485
	padding-top: 0.7em;
486
	font-size: 140%;
487
}
488

  
489
div#rub_service div.form-validation div.page div h3 {
490
	border-bottom-width: 1px;
491
}
492

  
493
label.activity {
494
	display: block;
495
	background: url(/static/img/spinner.gif) no-repeat top right;
496
	padding-right: 30px;
497
}
498

  
499
span.geoloc-error {
500
	padding-left: 0.7em;
501
	font-weight: normal;
502
	font-size: smaller;
503
	float: right;
504
	@media screen and (max-width: $mobile-limit) {
505
		padding-left: 0;
506
		float: none;
507
		display: block;
508
		z-index: 100;
509
		background: red;
510
		color: white;
511
		text-align: center;
512
	}
513
}
514

  
515
.fileprogress {
516
	border: 1px solid #888;
517
}
518

  
519
.fileprogress {
520
	.bar {
521
		background: $button-background;
522
		line-height: 1.5em;
523
		padding-left: 0.7em;
524
		white-space: nowrap;
525
		transition: background linear 0.1s;
526
		box-sizing: border-box;
527
	}
528
	&.upload-error .bar {
529
		background: #FF7575;
530
		color: black;
531
		width: 100% !important;
532
		white-space: normal;
533
	}
534
}
535

  
536
.fileinfo {
537
	line-height: 1.5em;
538
	height: 100%;
539
}
540

  
541
div.fileinfo a.remove {
542
	text-indent: 0;
543
	background: none;
544
	color: transparent;
545
	display: inline-block;
546
	width: 16px;
547
	position: relative;
548
	text-indent: -10000px;
549
	&::before {
550
		font-family: FontAwesome;
551
		content: "\f057";  // times-circle
552
		color: $button-background;
553
		text-indent: 0;
554
		position: absolute;
555
		top: 0;
556
		left: 0;
557
	}
558
}
559

  
560
div.RankedItemsWidget label input {
561
	margin-right: 1em;
562
}
563

  
564
div.RadiobuttonsWidget, div.SingleSelectHintWidget,
565
div.SingleSelectWidget, div.SingleSelectWidgetWithOther {
566
	&.hidden {
567
		display: none !important;
568
	}
569
}
570

  
571
div.CheckboxesWidget div.content ul li.disabled {
572
	color: lighten($font-color, 50);
573
}
574

  
575
div.RadiobuttonsWidget div.content input[disabled] + span {
576
	color: lighten($font-color, 50);
577
}
578

  
579
div.file-upload-widget {
580
	&:not([class*="grid-"]) {
581
		div.file-button {
582
			max-width: 500px;
583
		}
584
	}
585
	div.file-button {
586
		overflow: hidden;
587
		background: $widget-background;
588
		margin: 0;
589
		box-sizing: border-box;
590
		border: $widget-border;
591
		border-radius: $widget-border-radius;
592
		&:focus-within {
593
			border: $widget-focus-border;
594
			@if $widget-focus-outline == none {
595
				outline: $widget-border;
596
				outline-style: dotted;
597
			} @else {
598
				outline: $widget-focus-outline;
599
				outline-offset: $widget-focus-outline-offset;
600
			}
601
		}
602
		height: 150px;
603
		position: relative;
604
		text-align: center;
605
		div.widget.FileWidget {
606
			margin-bottom: 0;
607
		}
608
		input {
609
			position: absolute;
610
			top: 0;
611
			left: 0;
612
			width: 100%;
613
			height: 100%;
614
			opacity: 0.001;
615
			margin: 0;
616
			font-size: 0;
617
			cursor: pointer;
618
		}
619
		div.upload-done {
620
			display: none;
621
		}
622
		div.click-to-upload {
623
			display: block;
624
		}
625
		div.widget-message {
626
			padding-top: 20px;
627
			&::before {
628
				pointer-events: none;
629
				content: "\f016";  // file-o
630
				font-family: FontAwesome;
631
				font-size: 40px;
632
				display: block;
633
				padding-top: 20px;
634
				padding-bottom: 10px;
635
			}
636
			&::after {
637
				pointer-events: none;
638
				content: "\f055";  // plus-circle
639
				font-family: FontAwesome;
640
				font-size: 20px;
641
				display: block;
642
				position: absolute;
643
				left: calc(50% + 10px);
644
				top: 30px;
645
				color: $button-background;
646
			}
647
			&.upload-done::after {
648
				content: "\f05d";  // check-circle-o
649
			}
650
		}
651
		&.file-image div.widget-message::before {
652
			content: "\f1c5";  // file-image-o
653
		}
654
	}
655
	&.short div.file-button {
656
		height: 110px;
657
		div.widget-message {
658
			padding-top: 0px;
659
			&::before {
660
				padding-top: 10px;
661
			}
662
			&::after {
663
				top: 5px;
664
			}
665
		}
666
	}
667
	&.has-file {
668
		div.file-button {
669
			div.upload-done {
670
				display: block;
671
			}
672
			div.click-to-upload {
673
				display: none;
674
			}
675
		}
676
	}
677
	&.widget-readonly {
678
		div.file-button {
679
			div.widget-message {
680
				display: none;
681
			}
682
			.fileinfo.thumbnail span.filename {
683
				display: none;
684
			}
685
			span.filename {
686
				position: absolute;
687
				top: 0;
688
				left: 0;
689
				width: 100%;
690
				display: block;
691
				padding-top: 30px;
692
				&::before {
693
					pointer-events: none;
694
					content: "\f016";  // file-o
695
					font-family: FontAwesome;
696
					font-size: 40px;
697
					display: block;
698
					padding-top: 40px;
699
					padding-bottom: 10px;
700
				}
701
			}
702
			img {
703
				max-height: 100%;
704
				position: relative;
705
				z-index: 10;
706
			}
707
		}
708
	}
709
	div.fileprogress {
710
		position: absolute;
711
		border: none;
712
		overflow: hidden;
713
		width: 100%;
714
		left: 0;
715
		bottom: 0;
716
	}
717
}
718

  
719
p.use-file-from-fargo {
720
	margin-top: 0;
721
}
722

  
723
div.section.foldable {
724
	margin-bottom: 1rem;
725
	> h2:first-child {
726
		&::after {
727
			font-family: FontAwesome;
728
			content: "\f106";  // angle-up
729
			position: absolute;
730
			right: 1em;
731
		}
732
		cursor: pointer;
733
		&:focus span.disclose-message,
734
		&:hover span.disclose-message {
735
			text-decoration: underline;
736
		}
737
	}
738
	span.disclose-message {
739
		padding-left: 1ex;
740
		font-size: 1rem;
741
		display: none;
742
	}
743
	&.folded {
744
		span.disclose-message {
745
			display: inline-block;
746
			@media screen and (max-width: $mobile-limit) {
747
				// never displayed on mobile as the small width
748
				// makes clear the relation between title and
749
				// open/close bracket.
750
				display: none;
751
			}
752
		}
753
		div {
754
			display: none;
755
		}
756
		> h2:first-child::after {
757
			content: "\f107";  // angle-down
758
		}
759
	}
760
}
static/includes/wcs/_nearby-form.scss
1
/*
2
 *	Nearby form
3
 *	
4
 *	Ajout de styles à un champ carte pour sélectionner un signalement identique à proximité
5
 *
6
 *	Template
7
 *		quommon/forms/widgets/nearby-forms.html
8
 *	JS
9
 *		static/js/plus1.js
10
 */
11

  
12
 
13
.nearby-forms {
14
	margin: 0;
15
	padding: 0;
16
}
17

  
18
.nearby-form {
19
	margin: 5px auto;
20
	display: -ms-flexbox;
21
	display: flex;
22
	-ms-align-items: center;
23
	-ms-flex-align: center;
24
	align-items: center;
25
	-ms-flex-line-pack: center;
26
	align-content: center;
27
	-ms-flex-pack: space-between;
28
	-ms-justify-content: space-between;
29
	justify-content: space-between;
30
	border: $widget-border;
31
	padding: 5px;
32
}
33

  
34
.nearby-form--digest, .nearby-form--datetime, .nearby-form--marker-counter {
35
	margin: 0 5px;
36
}
37

  
38
.nearby-form--digest {
39
	width: 60%;
40
}
41
.nearby-form--datetime {
42
	width: 20%;
43
	@media screen and (max-width: $mobile-limit) {
44
		width: 30%;
45
	}
46
}
47
.nearby-form--marker-counter {
48
	background: $button-background;
49
	padding: 5px 10px;
50
	color: $button-color;
51
	min-width: 0.5em;
52
	max-width: 1em;
53
	border-radius: 3px;
54
}
55

  
56
.template-nearby-forms div.leaflet-div-icon {
57
	padding: 3px;
58
	margin: auto;
59
	border-radius: 3px;
60
	display: -ms-flexbox;
61
	display: flex;
62
	a {
63
		line-height: 1;
64
		margin: auto;
65
	}
66
}
67

  
68
.signalements-thanks ~ .buttons {
69
	.submit-button, .previous-button {
70
		display: none;
71
	}
72
	.cancel-button button {
73
		text-indent: -9999px;
74
		line-height: 0;
75
		&::after {
76
			text-indent: 0;
77
			line-height: initial;
78
			display: block;
79
			content: 'Continuer';
80
		}
81
	}
82
}
0
-