@qite/tide-components 1.0.13-preview.0 → 1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/build/build-cjs/index.js +1664 -2414
  2. package/build/build-cjs/src/booking-wizard/features/booking/selectors.d.ts +1 -1
  3. package/build/build-cjs/src/booking-wizard/features/travelers-form/validate-form.d.ts +2 -2
  4. package/build/build-cjs/src/booking-wizard/types.d.ts +3 -23
  5. package/build/build-cjs/src/search-results/components/flight/flight-selection/independent-flight-option.d.ts +0 -2
  6. package/build/build-cjs/src/search-results/components/itinerary/index.d.ts +0 -1
  7. package/build/build-cjs/src/search-results/components/itinerary/itinerary-utils.d.ts +0 -1
  8. package/build/build-cjs/src/search-results/types.d.ts +0 -8
  9. package/build/build-cjs/src/search-results/utils/traject-utils.d.ts +0 -7
  10. package/build/build-cjs/src/shared/booking/travelers-form.d.ts +8 -13
  11. package/build/build-esm/index.js +1666 -2416
  12. package/build/build-esm/src/booking-wizard/features/booking/selectors.d.ts +1 -1
  13. package/build/build-esm/src/booking-wizard/features/travelers-form/validate-form.d.ts +2 -2
  14. package/build/build-esm/src/booking-wizard/types.d.ts +3 -23
  15. package/build/build-esm/src/search-results/components/flight/flight-selection/independent-flight-option.d.ts +0 -2
  16. package/build/build-esm/src/search-results/components/itinerary/index.d.ts +0 -1
  17. package/build/build-esm/src/search-results/components/itinerary/itinerary-utils.d.ts +0 -1
  18. package/build/build-esm/src/search-results/types.d.ts +0 -8
  19. package/build/build-esm/src/search-results/utils/traject-utils.d.ts +0 -7
  20. package/build/build-esm/src/shared/booking/travelers-form.d.ts +8 -13
  21. package/package.json +2 -2
  22. package/styles/abstracts/_mixins.scss +74 -74
  23. package/styles/abstracts/_variables.scss +57 -57
  24. package/styles/base/_fonts.scss +2 -2
  25. package/styles/base/_normalize.scss +227 -227
  26. package/styles/base/_typography.scss +35 -35
  27. package/styles/booking-joker-variables.scss +596 -596
  28. package/styles/booking-product-variables.scss +330 -330
  29. package/styles/booking-product.scss +438 -438
  30. package/styles/booking-qsm-variables.scss +501 -501
  31. package/styles/booking-qsm.scss +52 -52
  32. package/styles/booking-search-results-variables.scss +734 -734
  33. package/styles/booking-search-results.scss +53 -53
  34. package/styles/booking-wizard-variables.scss +603 -603
  35. package/styles/booking-wizard.scss +61 -61
  36. package/styles/components/_accordion.scss +67 -67
  37. package/styles/components/_animations.scss +39 -39
  38. package/styles/components/_base.scss +107 -107
  39. package/styles/components/_booking.scss +906 -906
  40. package/styles/components/_breadcrumb.scss +92 -92
  41. package/styles/components/_button.scss +238 -238
  42. package/styles/components/_checkbox.scss +230 -230
  43. package/styles/components/_contact.scss +255 -255
  44. package/styles/components/_content.scss +336 -336
  45. package/styles/components/_cta.scss +238 -238
  46. package/styles/components/_date-list.scss +41 -41
  47. package/styles/components/_date-range-picker.scss +223 -223
  48. package/styles/components/_decrement-increment.scss +35 -35
  49. package/styles/components/_dropdown.scss +77 -77
  50. package/styles/components/_error.scss +50 -50
  51. package/styles/components/_faq.scss +30 -30
  52. package/styles/components/_flight-option.scss +1444 -1432
  53. package/styles/components/_flyin.scss +830 -830
  54. package/styles/components/_footer.scss +135 -135
  55. package/styles/components/_form.scss +1704 -1704
  56. package/styles/components/_gallery.scss +317 -317
  57. package/styles/components/_header.scss +113 -113
  58. package/styles/components/_image-with-text.scss +206 -206
  59. package/styles/components/_img-slider.scss +175 -175
  60. package/styles/components/_info-message.scss +75 -75
  61. package/styles/components/_input.scss +35 -35
  62. package/styles/components/_list.scss +185 -185
  63. package/styles/components/_loader.scss +152 -152
  64. package/styles/components/_login.scss +140 -140
  65. package/styles/components/_map-view.scss +1100 -1100
  66. package/styles/components/_mixins.scss +579 -579
  67. package/styles/components/_navbar.scss +765 -765
  68. package/styles/components/_passenger-picker.scss +306 -306
  69. package/styles/components/_phone-input.scss +8 -8
  70. package/styles/components/_placeholders.scss +165 -165
  71. package/styles/components/_pricing-summary.scss +163 -163
  72. package/styles/components/_qsm.scss +17 -17
  73. package/styles/components/_radiobutton.scss +170 -170
  74. package/styles/components/_search.scss +2197 -2197
  75. package/styles/components/_select-wrapper.scss +81 -81
  76. package/styles/components/_slider.scss +120 -120
  77. package/styles/components/_spinner.scss +29 -29
  78. package/styles/components/_step-indicators.scss +187 -187
  79. package/styles/components/_table.scss +81 -81
  80. package/styles/components/_tide-form.scss +578 -578
  81. package/styles/components/_tree.scss +648 -648
  82. package/styles/components/_typeahead.scss +275 -275
  83. package/styles/components/_variables.scss +89 -89
  84. package/styles/content-blocks-variables.scss +543 -543
  85. package/styles/content-blocks.scss +66 -66
  86. package/styles/font.scss +2 -2
  87. package/styles/qsm/_calendar.scss +274 -274
  88. package/styles/qsm/_qsm.scss +1097 -1097
  89. package/styles/search.scss +1200 -1200
  90. package/styles/tide-form-variables.scss +275 -275
  91. package/styles/tide-form.scss +56 -56
  92. package/build/build-cjs/src/search-results/utils/booked-entry-utils.d.ts +0 -20
  93. package/build/build-esm/src/search-results/utils/booked-entry-utils.d.ts +0 -20
@@ -1,906 +1,906 @@
1
- .booking {
2
- @extend %reset;
3
- width: 100%;
4
- padding: 2rem 0;
5
- background: var(--tide-booking-wizard-background);
6
-
7
- &__content {
8
- @extend %reset;
9
- @include container-wide;
10
- @include row--lg();
11
- align-items: flex-end;
12
-
13
- @include media-lg {
14
- align-items: flex-start;
15
- }
16
- }
17
-
18
- &__guarantees {
19
- display: none !important;
20
- }
21
-
22
- &__loader {
23
- position: fixed;
24
- width: 300px;
25
- max-width: 90vw;
26
- height: auto;
27
- top: 50%;
28
- left: 50%;
29
- padding: 1.5rem;
30
- transform: translate3D(-50%, -50%, 0);
31
- text-align: center;
32
- border-radius: 5px;
33
- background-color: var(--tide-booking-spinner-background);
34
- box-shadow: var(--tide-booking-spinner-box-shadow);
35
- z-index: 999;
36
-
37
- .loader__spinner {
38
- width: 40px;
39
- height: 40px;
40
- border-width: 4px;
41
- margin-bottom: 20px;
42
- }
43
- }
44
-
45
- &__navigator {
46
- gap: 15px;
47
- position: sticky;
48
- bottom: 80px;
49
- left: 0;
50
- background-color: var(--tide-booking-bg);
51
- // outline: 2px solid var(--tide-booking-bg);
52
- z-index: 11;
53
- width: 100%;
54
- margin: 30px -45px;
55
- margin-bottom: 0px;
56
- padding: 15px 45px;
57
- width: 99dvw;
58
-
59
- @include row--xs;
60
- justify-content: flex-end;
61
- align-items: center;
62
- padding: 15px;
63
-
64
- @include media-lg {
65
- position: relative;
66
- bottom: 0px;
67
- padding: 30px 15px;
68
- background: var(--tide-booking-transparent);
69
- width: 100%;
70
- margin: 0px;
71
- }
72
-
73
- .cta--secondary {
74
- width: 100%;
75
-
76
- @include media-xs {
77
- width: auto;
78
- margin-right: auto;
79
- }
80
- }
81
-
82
- button {
83
- @include media-xs {
84
- max-width: 200px;
85
- }
86
- }
87
- }
88
-
89
- &__panel {
90
- width: 100%;
91
- max-width: 1200px;
92
- @include column;
93
- border-radius: 15px * 0.3;
94
-
95
- @include media-lg {
96
- padding-right: 20px;
97
- }
98
-
99
- @include media-xl {
100
- padding-right: 40px;
101
- }
102
-
103
- &__wrapper {
104
- margin-bottom: 155px;
105
-
106
- @include media-lg {
107
- margin-bottom: 0px;
108
- }
109
- }
110
- }
111
-
112
- &__panel-heading {
113
- @extend %reset;
114
- width: 100%;
115
- padding-bottom: 20px;
116
- padding-left: 0 !important;
117
- border-radius: 5px 5px 0 0;
118
- color: var(--tide-booking-wizard-heading-color);
119
- // background-color: $booking-background;
120
- display: flex;
121
- justify-content: space-between;
122
- align-items: center;
123
- }
124
-
125
- &__panel-title {
126
- @extend h3;
127
- margin: 0;
128
- color: var(--tide-booking-wizard-title-color);
129
- }
130
-
131
- &__panel-body {
132
- @extend %reset;
133
- @include column;
134
- width: 100%;
135
- font-size: 14px;
136
-
137
- // @include media-sm {
138
- // font-size: 1.5rem;
139
- // }
140
-
141
- @include media-lg {
142
- font-size: 16px;
143
- }
144
- }
145
-
146
- &__panel-frame--transparent {
147
- background-color: transparent;
148
-
149
- .booking__panel-heading {
150
- //padding: 0;
151
- // margin-bottom: 30px;
152
- }
153
-
154
- .booking__panel-body {
155
- .form__region {
156
- // padding-left: 1.5rem;
157
- // padding-right: 1.5rem;
158
- }
159
- }
160
- }
161
-
162
- &__product {
163
- @extend %reset;
164
- // position: sticky;
165
- // top: 0px;
166
- // left: 0px;
167
- border-radius: var(--tide-booking-sidebar-header-border-radius);
168
- overflow: hidden;
169
- display: flex;
170
- align-items: center;
171
- background: var(--tide-booking-sidebar-header-background);
172
- min-height: 80px;
173
- z-index: 1;
174
-
175
- @include media-xl {
176
- min-height: 100px;
177
- }
178
- }
179
-
180
- &__product-body {
181
- display: flex;
182
- flex-flow: column;
183
- justify-content: center;
184
-
185
- > h1 {
186
- font-size: 18px;
187
- }
188
- }
189
-
190
- &__product-heading {
191
- @extend h5;
192
- color: var(--tide-booking-sidebar-header-color);
193
- }
194
-
195
- &__product-image {
196
- aspect-ratio: 1 / 1;
197
- flex-shrink: 0;
198
- display: inline-flex;
199
- overflow: hidden;
200
-
201
- img {
202
- max-width: 80px;
203
- max-height: 80px;
204
- aspect-ratio: 1 / 1;
205
- transform: scale(1.6);
206
-
207
- @include media-xl {
208
- max-width: 100px;
209
- max-height: 100px;
210
- }
211
- }
212
- }
213
-
214
- &__product-text {
215
- padding: 0 10px;
216
- display: inline-flex;
217
- flex-direction: column;
218
- justify-content: center;
219
- gap: 7.5px;
220
- color: var(--tide-booking-sidebar-header-color);
221
-
222
- * {
223
- margin: 0;
224
- }
225
- }
226
-
227
- &__product-toggle {
228
- position: relative;
229
- width: 30px;
230
- height: 30px;
231
- margin-right: 10px;
232
- margin-left: auto;
233
- display: flex;
234
- justify-content: center;
235
- align-items: center;
236
- border: var(--tide-booking-sidebar-btn-toggle-border);
237
- border-radius: var(--tide-booking-sidebar-btn-toggle-border-radius);
238
- background: var(--tide-booking-sidebar-btn-toggle-background);
239
-
240
- @include media-lg {
241
- display: none;
242
- }
243
-
244
- &:before {
245
- content: '';
246
- position: absolute;
247
- width: 8px;
248
- height: 8px;
249
- transform: rotate(135deg) translate3D(1px, -1px, 0);
250
- border-left: 1.5px solid var(--tide-booking-sidebar-btn-toggle-color);
251
- border-bottom: 1.5px solid var(--tide-booking-sidebar-btn-toggle-color);
252
- }
253
- }
254
-
255
- &__sidebar {
256
- position: fixed;
257
- width: calc(100% - 0px);
258
- max-height: calc(100dvh - 90px);
259
- bottom: 1px;
260
- right: 0;
261
- transform: translate3D(0, calc(100% - 80px), 0);
262
- margin-left: auto;
263
- @include column;
264
- border-radius: 15px * 0.3;
265
- @extend %transition-easing;
266
- @extend %scrollbar-transparent;
267
- z-index: 10;
268
-
269
- @include media-sm {
270
- width: calc(100% - 60px);
271
- max-width: 450px;
272
- }
273
-
274
- @include media-lg {
275
- position: sticky;
276
- height: calc(100vh - 86px);
277
- top: 100px;
278
- bottom: initial;
279
- transform: none;
280
- }
281
-
282
- .booking__product-heading {
283
- font-size: var(--tide-booking-sidebar-header-font-size) !important;
284
- font-weight: var(--tide-booking-sidebar-header-font-weight);
285
- }
286
- }
287
-
288
- &__sidebar-frame {
289
- border-radius: var(--tide-booking-sidebar-frame-radius);
290
- background-color: var(--tide-booking-sidebar-body-background);
291
- }
292
-
293
- &__sidebar--active {
294
- transform: translate3D(0, 0, 0);
295
- overflow-y: auto;
296
- z-index: 100;
297
-
298
- .booking__product-toggle {
299
- &:before {
300
- transform: rotate(-45deg) translate3D(0.1rem, -0.1rem, 0);
301
- }
302
- }
303
-
304
- .booking__sidebar-heading {
305
- position: sticky;
306
-
307
- @include media-lg {
308
- position: static;
309
- }
310
-
311
- &:before {
312
- margin-top: -0.3rem;
313
- transform: rotate(-45deg);
314
- }
315
- }
316
- }
317
-
318
- .checkbox {
319
- & + .tree__level {
320
- padding-top: 0;
321
- padding-left: 15px * 2;
322
- }
323
-
324
- &__input {
325
- &:checked + .checkbox__label-text + .tree__columns-actions + .tree__body {
326
- display: flex;
327
- opacity: 1;
328
- transform: none;
329
- pointer-events: initial;
330
- }
331
- }
332
-
333
- // &__input--parent + span + .tree__columns-actions {
334
- // @include media-lg {
335
- // transform: translate3D(-15px, -15px, 0);
336
- // }
337
-
338
- // @include media-xl {
339
- // transform: translateX(-15px);
340
- // }
341
- // }
342
-
343
- .tree__body {
344
- display: none;
345
- flex-direction: column;
346
- transform: translateY(-30px);
347
- opacity: 0;
348
- @include transitionEasing($duration: 0.15s);
349
- }
350
- }
351
-
352
- // .form__region {
353
- // padding-left: 15px;
354
- // padding-right: 15px;
355
- // }
356
-
357
- .loader__spinner {
358
- width: 50px;
359
- height: 50px;
360
- border-width: 4px;
361
- }
362
-
363
- .radiobutton {
364
- & + .tree__level {
365
- padding-top: 0;
366
- padding-left: 15px * 2;
367
- }
368
-
369
- &__input {
370
- &:checked + .radiobutton__label-text + .tree__columns-actions + .tree__body {
371
- display: flex;
372
- transform: translateY(0);
373
- opacity: 1;
374
- pointer-events: initial;
375
- }
376
- }
377
-
378
- // &__input--parent + span + .tree__columns-actions {
379
- // @include media-lg {
380
- // transform: translate3D(-15px, -15px, 0);
381
- // }
382
-
383
- // @include media-xl {
384
- // transform: translateX(-15px);
385
- // }
386
- // }
387
-
388
- .tree__body {
389
- display: none;
390
- flex-direction: column;
391
- transform: translateY(-30px);
392
- opacity: 0;
393
- @include transitionEasing($duration: 0.15s);
394
- }
395
- }
396
-
397
- .table--borders {
398
- .checkbox {
399
- padding-top: 20px !important;
400
-
401
- &__label {
402
- padding-top: 0;
403
- padding-bottom: 0;
404
- margin-bottom: -5px;
405
- margin-top: -5px;
406
-
407
- @include media-lg {
408
- padding: 0;
409
- margin-top: 0;
410
- margin-bottom: 0;
411
- }
412
- }
413
- }
414
-
415
- .price {
416
- top: 15px;
417
-
418
- @include media-lg {
419
- top: 10px;
420
- }
421
- }
422
-
423
- .radiobutton {
424
- padding-top: 20px !important;
425
- }
426
-
427
- .tree {
428
- padding-top: 0;
429
- padding-bottom: 0 !important;
430
- border-color: transparent;
431
- background-color: transparent;
432
-
433
- &__columns-actions {
434
- @include media-lg {
435
- margin-bottom: -22.5px;
436
- transform: translate3D(-15px, -37.5px, 0) !important;
437
- }
438
-
439
- @include media-xl {
440
- margin-bottom: initial;
441
- transform: translate3D(-15px, 0, 0) !important;
442
- }
443
- }
444
-
445
- &__column--price {
446
- @include media-lg {
447
- transform: translateY(17.5px);
448
- }
449
-
450
- @include media-xl {
451
- transform: initial;
452
- }
453
- }
454
-
455
- .checkbox {
456
- padding-top: 3px;
457
- margin-top: 10px;
458
-
459
- &__input,
460
- &__input--parent {
461
- top: 6px;
462
-
463
- @include media-lg {
464
- top: 18px;
465
- }
466
-
467
- & + span {
468
- margin-bottom: 0;
469
- }
470
- }
471
- }
472
-
473
- .radiobutton {
474
- padding-top: 3px;
475
- margin-top: 10px;
476
-
477
- &__input,
478
- &__input--parent {
479
- top: 10px;
480
-
481
- @include media-lg {
482
- top: 18px;
483
- }
484
-
485
- & + span {
486
- margin-bottom: 0;
487
- }
488
- }
489
- }
490
- }
491
-
492
- // tr + tr {
493
- // .checkbox {
494
- // border-top: 0.1rem solid rgba(0, 0, 0, 0.1);
495
- // }
496
-
497
- // .radiobutton {
498
- // border-top: 0.1rem solid rgba(0, 0, 0, 0.1);
499
- // }
500
- // }
501
- }
502
-
503
- .tree {
504
- padding: 7.5px 10px;
505
- font-size: 13px;
506
- margin: 0 15px;
507
- transition-duration: 0.12s;
508
- transition-property: border-color, color, background-color;
509
-
510
- @include media-lg {
511
- padding: 0px 15px 0 15px;
512
- font-size: 16px;
513
- }
514
-
515
- @include media-xl {
516
- padding: 7.5px 15px;
517
- }
518
-
519
- &__columns {
520
- > .tree__column:first-child {
521
- @include media-lg {
522
- width: 245px;
523
- }
524
- }
525
- }
526
-
527
- .date-list__item + .date-list__item:before {
528
- @include media-lg {
529
- margin-right: 10px !important;
530
- }
531
- }
532
- }
533
- }
534
-
535
- .booking-card {
536
- position: relative;
537
- // margin-left: -1.5rem;
538
- // margin-right: -1.5rem;
539
- //margin-bottom: 4.5rem;
540
-
541
- &__actions {
542
- position: absolute;
543
- right: 10px;
544
- margin-left: auto;
545
- margin-bottom: auto;
546
- display: flex;
547
- gap: 15px;
548
-
549
- @include media-lg {
550
- position: static;
551
- right: initial;
552
- }
553
- }
554
-
555
- &__body {
556
- border-radius: 5px;
557
- position: relative;
558
- // background-color: $white;
559
- transition: height ease-out 0.2s;
560
- display: flex;
561
- flex-direction: column;
562
- gap: 30px;
563
- }
564
-
565
- &__body-heading {
566
- min-width: 140px;
567
- font-size: 16px;
568
- color: var(--tide-booking-extra-options-card-title-color);
569
-
570
- @include media-lg {
571
- font-size: 20px;
572
- }
573
- }
574
-
575
- &__group {
576
- padding: 15px 0;
577
- background: var(--tide-booking-extra-options-card-background);
578
- outline: var(--tide-booking-extra-options-card-border);
579
- border-radius: var(--tide-booking-extra-options-card-border-radius);
580
- overflow: hidden;
581
- transition: padding 0.4s ease, margin 0.4s ease, background-color 0.4s ease;
582
-
583
- &__wrapper {
584
- display: flex;
585
- flex-direction: column;
586
- gap: 20px;
587
- }
588
-
589
- &:not(.booking-card__group--active) {
590
- padding-bottom: 27px;
591
- transition: padding-bottom 0.4s ease;
592
-
593
- @include media-lg {
594
- padding-bottom: 15px;
595
- }
596
-
597
- .booking-card__group-header {
598
- margin-bottom: -13px;
599
- transition: margin-bottom 0.4s ease;
600
-
601
- @include media-lg {
602
- margin-bottom: initial;
603
- }
604
- }
605
-
606
- .price {
607
- @include media-lg {
608
- position: static;
609
- right: initial;
610
- top: initial;
611
- }
612
- }
613
- }
614
-
615
- &.booking-card__group--package {
616
- padding: 40px 10px 20px;
617
- // margin-top: -25px;
618
- margin-bottom: 15px;
619
- transition: all 0.4s ease;
620
-
621
- @include media-lg {
622
- padding: 20px 17.5px;
623
- }
624
-
625
- .booking-card__group-body {
626
- height: auto;
627
- padding-top: 0;
628
- opacity: 1;
629
- pointer-events: initial;
630
- transition: opacity 0.4s ease, padding 0.4s ease;
631
- }
632
-
633
- .radiobutton__label-text {
634
- @include media-lg {
635
- transform: translateY(20px);
636
- transition: transform 0.4s ease;
637
- }
638
- }
639
-
640
- .tree {
641
- padding-bottom: 0;
642
-
643
- @include media-lg {
644
- padding-bottom: 7.5px;
645
- }
646
- }
647
-
648
- tr + tr {
649
- transform: translateY(-10px);
650
- transition: transform 0.4s ease;
651
- }
652
-
653
- tr:last-child .tree {
654
- padding-bottom: 7.5px;
655
-
656
- @include media-lg {
657
- // empty but transition inherited
658
- }
659
- }
660
- }
661
- }
662
-
663
- &__group--active {
664
- .booking-card {
665
- &__group-body {
666
- height: auto;
667
- opacity: 1;
668
- pointer-events: initial;
669
- transition: height 0.4s ease, opacity 0.4s ease;
670
- }
671
-
672
- &__toggle {
673
- &:before {
674
- transform: rotate(-45deg) translate3D(2px, -2px, 0);
675
- transition: transform 0.4s ease;
676
- }
677
- }
678
-
679
- &__group-body + &__group-body {
680
- margin-top: 25px;
681
- transition: margin-top 0.4s ease;
682
- }
683
- }
684
- }
685
-
686
- &__group + &__group {
687
- .booking-card__group-header {
688
- margin-top: 0;
689
- transition: margin-top 0.4s ease;
690
- }
691
- }
692
-
693
- &__group-body {
694
- height: 0;
695
- padding-top: 15px;
696
- opacity: 0;
697
- pointer-events: none;
698
- transition-duration: 0.2s;
699
- transition-property: height;
700
- transition-timing-function: ease-out;
701
-
702
- @include media-lg {
703
- padding-top: 0;
704
- }
705
- }
706
-
707
- &__group-header {
708
- margin-bottom: -10px;
709
- display: flex;
710
- flex-direction: column;
711
- padding: 0px 15px;
712
-
713
- @include media-lg {
714
- flex-direction: row;
715
- align-items: center;
716
- }
717
-
718
- * {
719
- margin-bottom: 0;
720
- }
721
- }
722
-
723
- &__group-heading {
724
- margin-top: 7.5px;
725
- font-size: 14.5px;
726
- padding: 15px;
727
- padding-bottom: 0px;
728
-
729
- @include media-lg {
730
- margin-top: 0;
731
- font-size: 17px;
732
- }
733
- }
734
-
735
- &__airline-group {
736
- &-heading {
737
- margin-top: 30px;
738
- margin-left: 15px;
739
- }
740
- }
741
-
742
- &__header {
743
- padding: 15px 0 0px;
744
- }
745
-
746
- &__header-heading {
747
- font-size: 20px;
748
- color: var(--tide-booking-wizard-heading-color);
749
-
750
- @include media-lg {
751
- font-size: 24px;
752
- }
753
- }
754
-
755
- &__tag {
756
- position: absolute;
757
- top: 15px;
758
- left: 0;
759
- padding: 6px 5px 6px 10px;
760
- font-size: 14px;
761
- line-height: 1;
762
- text-transform: uppercase;
763
- font-weight: var(--tide-booking-tag-font-weight);
764
- font-family: var(--tide-booking-tag-font-family);
765
- border: var(--tide-booking-tag-border);
766
- border-radius: var(--tide-booking-tag-border-radius);
767
- color: var(--tide-booking-tag-color);
768
- background: var(--tide-booking-tag-background);
769
-
770
- @include media-lg {
771
- top: 25px;
772
- padding: 6px 5px;
773
- font-size: 16px;
774
- }
775
-
776
- @include media-xl {
777
- top: 25px;
778
- }
779
-
780
- &-translations {
781
- position: relative;
782
- display: flex;
783
- flex-direction: column;
784
- gap: 10px;
785
- padding: 5px 10px;
786
-
787
- .tag-translation {
788
- display: flex;
789
- gap: 1px;
790
- align-items: center;
791
-
792
- &-input__container {
793
- display: flex;
794
-
795
- .checkbox__input {
796
- position: relative;
797
- margin: 0 10px 0 0;
798
- }
799
- }
800
- }
801
- }
802
- }
803
-
804
- &__toggle {
805
- position: relative;
806
- width: 36px;
807
- height: 36px;
808
- right: 5px;
809
- display: flex;
810
- justify-content: center;
811
- align-items: center;
812
- border-radius: var(--tide-booking-flight-extra-options-toggle-border-radius);
813
- border: var(--tide-booking-flight-extra-options-toggle-border);
814
- background: var(--tide-booking-flight-extra-options-toggle-background);
815
-
816
- &:before {
817
- content: '';
818
- position: absolute;
819
- width: 9px;
820
- height: 9px;
821
- border-left: 2px solid var(--tide-booking-flight-extra-options-toggle-icon-color);
822
- border-bottom: 2px solid var(--tide-booking-flight-extra-options-toggle-icon-color);
823
- transform: rotate(-135deg) translate3D(1px, -1px, 0);
824
- transition: transform ease-out 0.12s;
825
- }
826
-
827
- @include media-lg {
828
- right: 0px;
829
- }
830
- }
831
-
832
- .price {
833
- white-space: nowrap;
834
- font-size: var(--tide-booking-sidebar-footer-total-font-size);
835
-
836
- &--decrease {
837
- color: var(--tide-booking-price-decrease);
838
- }
839
-
840
- &--increase {
841
- color: var(--tide-booking-price-increase);
842
- }
843
- }
844
-
845
- .table--borders {
846
- margin-top: -10px;
847
- margin-bottom: -5px;
848
-
849
- @include media-lg {
850
- margin-bottom: -15px;
851
- }
852
- }
853
-
854
- select,
855
- input,
856
- textarea {
857
- font-size: 14px;
858
-
859
- @include media-lg {
860
- font-size: 16px;
861
- }
862
- }
863
- }
864
-
865
- .booking-message {
866
- max-width: 570px;
867
- margin: 15px * 2 auto;
868
- @include column;
869
- align-items: center;
870
- text-align: center;
871
-
872
- &__heading {
873
- @include column;
874
- margin-top: 15px * 1.3;
875
- }
876
-
877
- &__actions {
878
- margin-top: 15px;
879
- }
880
-
881
- &--error {
882
- .booking-message {
883
- &__heading {
884
- color: var(--tide-booking-invalid);
885
- }
886
- }
887
-
888
- .icon {
889
- width: 50px;
890
- height: 50px;
891
- fill: var(--tide-booking-invalid);
892
- }
893
- }
894
-
895
- &--success {
896
- .booking-message__heading:before {
897
- content: '';
898
- width: 15px * 3.33;
899
- height: 15px * 1.33;
900
- border-left: 2.5px solid var(--tide-booking-confirmation-icon-color);
901
- border-bottom: 2.5px solid var(--tide-booking-confirmation-icon-color);
902
- margin: 0 auto 15px * 3 auto;
903
- transform: rotate(-45deg);
904
- }
905
- }
906
- }
1
+ .booking {
2
+ @extend %reset;
3
+ width: 100%;
4
+ padding: 2rem 0;
5
+ background: var(--tide-booking-wizard-background);
6
+
7
+ &__content {
8
+ @extend %reset;
9
+ @include container-wide;
10
+ @include row--lg();
11
+ align-items: flex-end;
12
+
13
+ @include media-lg {
14
+ align-items: flex-start;
15
+ }
16
+ }
17
+
18
+ &__guarantees {
19
+ display: none !important;
20
+ }
21
+
22
+ &__loader {
23
+ position: fixed;
24
+ width: 300px;
25
+ max-width: 90vw;
26
+ height: auto;
27
+ top: 50%;
28
+ left: 50%;
29
+ padding: 1.5rem;
30
+ transform: translate3D(-50%, -50%, 0);
31
+ text-align: center;
32
+ border-radius: 5px;
33
+ background-color: var(--tide-booking-spinner-background);
34
+ box-shadow: var(--tide-booking-spinner-box-shadow);
35
+ z-index: 999;
36
+
37
+ .loader__spinner {
38
+ width: 40px;
39
+ height: 40px;
40
+ border-width: 4px;
41
+ margin-bottom: 20px;
42
+ }
43
+ }
44
+
45
+ &__navigator {
46
+ gap: 15px;
47
+ position: sticky;
48
+ bottom: 80px;
49
+ left: 0;
50
+ background-color: var(--tide-booking-bg);
51
+ // outline: 2px solid var(--tide-booking-bg);
52
+ z-index: 11;
53
+ width: 100%;
54
+ margin: 30px -45px;
55
+ margin-bottom: 0px;
56
+ padding: 15px 45px;
57
+ width: 99dvw;
58
+
59
+ @include row--xs;
60
+ justify-content: flex-end;
61
+ align-items: center;
62
+ padding: 15px;
63
+
64
+ @include media-lg {
65
+ position: relative;
66
+ bottom: 0px;
67
+ padding: 30px 15px;
68
+ background: var(--tide-booking-transparent);
69
+ width: 100%;
70
+ margin: 0px;
71
+ }
72
+
73
+ .cta--secondary {
74
+ width: 100%;
75
+
76
+ @include media-xs {
77
+ width: auto;
78
+ margin-right: auto;
79
+ }
80
+ }
81
+
82
+ button {
83
+ @include media-xs {
84
+ max-width: 200px;
85
+ }
86
+ }
87
+ }
88
+
89
+ &__panel {
90
+ width: 100%;
91
+ max-width: 1200px;
92
+ @include column;
93
+ border-radius: 15px * 0.3;
94
+
95
+ @include media-lg {
96
+ padding-right: 20px;
97
+ }
98
+
99
+ @include media-xl {
100
+ padding-right: 40px;
101
+ }
102
+
103
+ &__wrapper {
104
+ margin-bottom: 155px;
105
+
106
+ @include media-lg {
107
+ margin-bottom: 0px;
108
+ }
109
+ }
110
+ }
111
+
112
+ &__panel-heading {
113
+ @extend %reset;
114
+ width: 100%;
115
+ padding-bottom: 20px;
116
+ padding-left: 0 !important;
117
+ border-radius: 5px 5px 0 0;
118
+ color: var(--tide-booking-wizard-heading-color);
119
+ // background-color: $booking-background;
120
+ display: flex;
121
+ justify-content: space-between;
122
+ align-items: center;
123
+ }
124
+
125
+ &__panel-title {
126
+ @extend h3;
127
+ margin: 0;
128
+ color: var(--tide-booking-wizard-title-color);
129
+ }
130
+
131
+ &__panel-body {
132
+ @extend %reset;
133
+ @include column;
134
+ width: 100%;
135
+ font-size: 14px;
136
+
137
+ // @include media-sm {
138
+ // font-size: 1.5rem;
139
+ // }
140
+
141
+ @include media-lg {
142
+ font-size: 16px;
143
+ }
144
+ }
145
+
146
+ &__panel-frame--transparent {
147
+ background-color: transparent;
148
+
149
+ .booking__panel-heading {
150
+ //padding: 0;
151
+ // margin-bottom: 30px;
152
+ }
153
+
154
+ .booking__panel-body {
155
+ .form__region {
156
+ // padding-left: 1.5rem;
157
+ // padding-right: 1.5rem;
158
+ }
159
+ }
160
+ }
161
+
162
+ &__product {
163
+ @extend %reset;
164
+ // position: sticky;
165
+ // top: 0px;
166
+ // left: 0px;
167
+ border-radius: var(--tide-booking-sidebar-header-border-radius);
168
+ overflow: hidden;
169
+ display: flex;
170
+ align-items: center;
171
+ background: var(--tide-booking-sidebar-header-background);
172
+ min-height: 80px;
173
+ z-index: 1;
174
+
175
+ @include media-xl {
176
+ min-height: 100px;
177
+ }
178
+ }
179
+
180
+ &__product-body {
181
+ display: flex;
182
+ flex-flow: column;
183
+ justify-content: center;
184
+
185
+ > h1 {
186
+ font-size: 18px;
187
+ }
188
+ }
189
+
190
+ &__product-heading {
191
+ @extend h5;
192
+ color: var(--tide-booking-sidebar-header-color);
193
+ }
194
+
195
+ &__product-image {
196
+ aspect-ratio: 1 / 1;
197
+ flex-shrink: 0;
198
+ display: inline-flex;
199
+ overflow: hidden;
200
+
201
+ img {
202
+ max-width: 80px;
203
+ max-height: 80px;
204
+ aspect-ratio: 1 / 1;
205
+ transform: scale(1.6);
206
+
207
+ @include media-xl {
208
+ max-width: 100px;
209
+ max-height: 100px;
210
+ }
211
+ }
212
+ }
213
+
214
+ &__product-text {
215
+ padding: 0 10px;
216
+ display: inline-flex;
217
+ flex-direction: column;
218
+ justify-content: center;
219
+ gap: 7.5px;
220
+ color: var(--tide-booking-sidebar-header-color);
221
+
222
+ * {
223
+ margin: 0;
224
+ }
225
+ }
226
+
227
+ &__product-toggle {
228
+ position: relative;
229
+ width: 30px;
230
+ height: 30px;
231
+ margin-right: 10px;
232
+ margin-left: auto;
233
+ display: flex;
234
+ justify-content: center;
235
+ align-items: center;
236
+ border: var(--tide-booking-sidebar-btn-toggle-border);
237
+ border-radius: var(--tide-booking-sidebar-btn-toggle-border-radius);
238
+ background: var(--tide-booking-sidebar-btn-toggle-background);
239
+
240
+ @include media-lg {
241
+ display: none;
242
+ }
243
+
244
+ &:before {
245
+ content: '';
246
+ position: absolute;
247
+ width: 8px;
248
+ height: 8px;
249
+ transform: rotate(135deg) translate3D(1px, -1px, 0);
250
+ border-left: 1.5px solid var(--tide-booking-sidebar-btn-toggle-color);
251
+ border-bottom: 1.5px solid var(--tide-booking-sidebar-btn-toggle-color);
252
+ }
253
+ }
254
+
255
+ &__sidebar {
256
+ position: fixed;
257
+ width: calc(100% - 0px);
258
+ max-height: calc(100dvh - 90px);
259
+ bottom: 1px;
260
+ right: 0;
261
+ transform: translate3D(0, calc(100% - 80px), 0);
262
+ margin-left: auto;
263
+ @include column;
264
+ border-radius: 15px * 0.3;
265
+ @extend %transition-easing;
266
+ @extend %scrollbar-transparent;
267
+ z-index: 10;
268
+
269
+ @include media-sm {
270
+ width: calc(100% - 60px);
271
+ max-width: 450px;
272
+ }
273
+
274
+ @include media-lg {
275
+ position: sticky;
276
+ height: calc(100vh - 86px);
277
+ top: 100px;
278
+ bottom: initial;
279
+ transform: none;
280
+ }
281
+
282
+ .booking__product-heading {
283
+ font-size: var(--tide-booking-sidebar-header-font-size) !important;
284
+ font-weight: var(--tide-booking-sidebar-header-font-weight);
285
+ }
286
+ }
287
+
288
+ &__sidebar-frame {
289
+ border-radius: var(--tide-booking-sidebar-frame-radius);
290
+ background-color: var(--tide-booking-sidebar-body-background);
291
+ }
292
+
293
+ &__sidebar--active {
294
+ transform: translate3D(0, 0, 0);
295
+ overflow-y: auto;
296
+ z-index: 100;
297
+
298
+ .booking__product-toggle {
299
+ &:before {
300
+ transform: rotate(-45deg) translate3D(0.1rem, -0.1rem, 0);
301
+ }
302
+ }
303
+
304
+ .booking__sidebar-heading {
305
+ position: sticky;
306
+
307
+ @include media-lg {
308
+ position: static;
309
+ }
310
+
311
+ &:before {
312
+ margin-top: -0.3rem;
313
+ transform: rotate(-45deg);
314
+ }
315
+ }
316
+ }
317
+
318
+ .checkbox {
319
+ & + .tree__level {
320
+ padding-top: 0;
321
+ padding-left: 15px * 2;
322
+ }
323
+
324
+ &__input {
325
+ &:checked + .checkbox__label-text + .tree__columns-actions + .tree__body {
326
+ display: flex;
327
+ opacity: 1;
328
+ transform: none;
329
+ pointer-events: initial;
330
+ }
331
+ }
332
+
333
+ // &__input--parent + span + .tree__columns-actions {
334
+ // @include media-lg {
335
+ // transform: translate3D(-15px, -15px, 0);
336
+ // }
337
+
338
+ // @include media-xl {
339
+ // transform: translateX(-15px);
340
+ // }
341
+ // }
342
+
343
+ .tree__body {
344
+ display: none;
345
+ flex-direction: column;
346
+ transform: translateY(-30px);
347
+ opacity: 0;
348
+ @include transitionEasing($duration: 0.15s);
349
+ }
350
+ }
351
+
352
+ // .form__region {
353
+ // padding-left: 15px;
354
+ // padding-right: 15px;
355
+ // }
356
+
357
+ .loader__spinner {
358
+ width: 50px;
359
+ height: 50px;
360
+ border-width: 4px;
361
+ }
362
+
363
+ .radiobutton {
364
+ & + .tree__level {
365
+ padding-top: 0;
366
+ padding-left: 15px * 2;
367
+ }
368
+
369
+ &__input {
370
+ &:checked + .radiobutton__label-text + .tree__columns-actions + .tree__body {
371
+ display: flex;
372
+ transform: translateY(0);
373
+ opacity: 1;
374
+ pointer-events: initial;
375
+ }
376
+ }
377
+
378
+ // &__input--parent + span + .tree__columns-actions {
379
+ // @include media-lg {
380
+ // transform: translate3D(-15px, -15px, 0);
381
+ // }
382
+
383
+ // @include media-xl {
384
+ // transform: translateX(-15px);
385
+ // }
386
+ // }
387
+
388
+ .tree__body {
389
+ display: none;
390
+ flex-direction: column;
391
+ transform: translateY(-30px);
392
+ opacity: 0;
393
+ @include transitionEasing($duration: 0.15s);
394
+ }
395
+ }
396
+
397
+ .table--borders {
398
+ .checkbox {
399
+ padding-top: 20px !important;
400
+
401
+ &__label {
402
+ padding-top: 0;
403
+ padding-bottom: 0;
404
+ margin-bottom: -5px;
405
+ margin-top: -5px;
406
+
407
+ @include media-lg {
408
+ padding: 0;
409
+ margin-top: 0;
410
+ margin-bottom: 0;
411
+ }
412
+ }
413
+ }
414
+
415
+ .price {
416
+ top: 15px;
417
+
418
+ @include media-lg {
419
+ top: 10px;
420
+ }
421
+ }
422
+
423
+ .radiobutton {
424
+ padding-top: 20px !important;
425
+ }
426
+
427
+ .tree {
428
+ padding-top: 0;
429
+ padding-bottom: 0 !important;
430
+ border-color: transparent;
431
+ background-color: transparent;
432
+
433
+ &__columns-actions {
434
+ @include media-lg {
435
+ margin-bottom: -22.5px;
436
+ transform: translate3D(-15px, -37.5px, 0) !important;
437
+ }
438
+
439
+ @include media-xl {
440
+ margin-bottom: initial;
441
+ transform: translate3D(-15px, 0, 0) !important;
442
+ }
443
+ }
444
+
445
+ &__column--price {
446
+ @include media-lg {
447
+ transform: translateY(17.5px);
448
+ }
449
+
450
+ @include media-xl {
451
+ transform: initial;
452
+ }
453
+ }
454
+
455
+ .checkbox {
456
+ padding-top: 3px;
457
+ margin-top: 10px;
458
+
459
+ &__input,
460
+ &__input--parent {
461
+ top: 6px;
462
+
463
+ @include media-lg {
464
+ top: 18px;
465
+ }
466
+
467
+ & + span {
468
+ margin-bottom: 0;
469
+ }
470
+ }
471
+ }
472
+
473
+ .radiobutton {
474
+ padding-top: 3px;
475
+ margin-top: 10px;
476
+
477
+ &__input,
478
+ &__input--parent {
479
+ top: 10px;
480
+
481
+ @include media-lg {
482
+ top: 18px;
483
+ }
484
+
485
+ & + span {
486
+ margin-bottom: 0;
487
+ }
488
+ }
489
+ }
490
+ }
491
+
492
+ // tr + tr {
493
+ // .checkbox {
494
+ // border-top: 0.1rem solid rgba(0, 0, 0, 0.1);
495
+ // }
496
+
497
+ // .radiobutton {
498
+ // border-top: 0.1rem solid rgba(0, 0, 0, 0.1);
499
+ // }
500
+ // }
501
+ }
502
+
503
+ .tree {
504
+ padding: 7.5px 10px;
505
+ font-size: 13px;
506
+ margin: 0 15px;
507
+ transition-duration: 0.12s;
508
+ transition-property: border-color, color, background-color;
509
+
510
+ @include media-lg {
511
+ padding: 0px 15px 0 15px;
512
+ font-size: 16px;
513
+ }
514
+
515
+ @include media-xl {
516
+ padding: 7.5px 15px;
517
+ }
518
+
519
+ &__columns {
520
+ > .tree__column:first-child {
521
+ @include media-lg {
522
+ width: 245px;
523
+ }
524
+ }
525
+ }
526
+
527
+ .date-list__item + .date-list__item:before {
528
+ @include media-lg {
529
+ margin-right: 10px !important;
530
+ }
531
+ }
532
+ }
533
+ }
534
+
535
+ .booking-card {
536
+ position: relative;
537
+ // margin-left: -1.5rem;
538
+ // margin-right: -1.5rem;
539
+ //margin-bottom: 4.5rem;
540
+
541
+ &__actions {
542
+ position: absolute;
543
+ right: 10px;
544
+ margin-left: auto;
545
+ margin-bottom: auto;
546
+ display: flex;
547
+ gap: 15px;
548
+
549
+ @include media-lg {
550
+ position: static;
551
+ right: initial;
552
+ }
553
+ }
554
+
555
+ &__body {
556
+ border-radius: 5px;
557
+ position: relative;
558
+ // background-color: $white;
559
+ transition: height ease-out 0.2s;
560
+ display: flex;
561
+ flex-direction: column;
562
+ gap: 30px;
563
+ }
564
+
565
+ &__body-heading {
566
+ min-width: 140px;
567
+ font-size: 16px;
568
+ color: var(--tide-booking-extra-options-card-title-color);
569
+
570
+ @include media-lg {
571
+ font-size: 20px;
572
+ }
573
+ }
574
+
575
+ &__group {
576
+ padding: 15px 0;
577
+ background: var(--tide-booking-extra-options-card-background);
578
+ outline: var(--tide-booking-extra-options-card-border);
579
+ border-radius: var(--tide-booking-extra-options-card-border-radius);
580
+ overflow: hidden;
581
+ transition: padding 0.4s ease, margin 0.4s ease, background-color 0.4s ease;
582
+
583
+ &__wrapper {
584
+ display: flex;
585
+ flex-direction: column;
586
+ gap: 20px;
587
+ }
588
+
589
+ &:not(.booking-card__group--active) {
590
+ padding-bottom: 27px;
591
+ transition: padding-bottom 0.4s ease;
592
+
593
+ @include media-lg {
594
+ padding-bottom: 15px;
595
+ }
596
+
597
+ .booking-card__group-header {
598
+ margin-bottom: -13px;
599
+ transition: margin-bottom 0.4s ease;
600
+
601
+ @include media-lg {
602
+ margin-bottom: initial;
603
+ }
604
+ }
605
+
606
+ .price {
607
+ @include media-lg {
608
+ position: static;
609
+ right: initial;
610
+ top: initial;
611
+ }
612
+ }
613
+ }
614
+
615
+ &.booking-card__group--package {
616
+ padding: 40px 10px 20px;
617
+ // margin-top: -25px;
618
+ margin-bottom: 15px;
619
+ transition: all 0.4s ease;
620
+
621
+ @include media-lg {
622
+ padding: 20px 17.5px;
623
+ }
624
+
625
+ .booking-card__group-body {
626
+ height: auto;
627
+ padding-top: 0;
628
+ opacity: 1;
629
+ pointer-events: initial;
630
+ transition: opacity 0.4s ease, padding 0.4s ease;
631
+ }
632
+
633
+ .radiobutton__label-text {
634
+ @include media-lg {
635
+ transform: translateY(20px);
636
+ transition: transform 0.4s ease;
637
+ }
638
+ }
639
+
640
+ .tree {
641
+ padding-bottom: 0;
642
+
643
+ @include media-lg {
644
+ padding-bottom: 7.5px;
645
+ }
646
+ }
647
+
648
+ tr + tr {
649
+ transform: translateY(-10px);
650
+ transition: transform 0.4s ease;
651
+ }
652
+
653
+ tr:last-child .tree {
654
+ padding-bottom: 7.5px;
655
+
656
+ @include media-lg {
657
+ // empty but transition inherited
658
+ }
659
+ }
660
+ }
661
+ }
662
+
663
+ &__group--active {
664
+ .booking-card {
665
+ &__group-body {
666
+ height: auto;
667
+ opacity: 1;
668
+ pointer-events: initial;
669
+ transition: height 0.4s ease, opacity 0.4s ease;
670
+ }
671
+
672
+ &__toggle {
673
+ &:before {
674
+ transform: rotate(-45deg) translate3D(2px, -2px, 0);
675
+ transition: transform 0.4s ease;
676
+ }
677
+ }
678
+
679
+ &__group-body + &__group-body {
680
+ margin-top: 25px;
681
+ transition: margin-top 0.4s ease;
682
+ }
683
+ }
684
+ }
685
+
686
+ &__group + &__group {
687
+ .booking-card__group-header {
688
+ margin-top: 0;
689
+ transition: margin-top 0.4s ease;
690
+ }
691
+ }
692
+
693
+ &__group-body {
694
+ height: 0;
695
+ padding-top: 15px;
696
+ opacity: 0;
697
+ pointer-events: none;
698
+ transition-duration: 0.2s;
699
+ transition-property: height;
700
+ transition-timing-function: ease-out;
701
+
702
+ @include media-lg {
703
+ padding-top: 0;
704
+ }
705
+ }
706
+
707
+ &__group-header {
708
+ margin-bottom: -10px;
709
+ display: flex;
710
+ flex-direction: column;
711
+ padding: 0px 15px;
712
+
713
+ @include media-lg {
714
+ flex-direction: row;
715
+ align-items: center;
716
+ }
717
+
718
+ * {
719
+ margin-bottom: 0;
720
+ }
721
+ }
722
+
723
+ &__group-heading {
724
+ margin-top: 7.5px;
725
+ font-size: 14.5px;
726
+ padding: 15px;
727
+ padding-bottom: 0px;
728
+
729
+ @include media-lg {
730
+ margin-top: 0;
731
+ font-size: 17px;
732
+ }
733
+ }
734
+
735
+ &__airline-group {
736
+ &-heading {
737
+ margin-top: 30px;
738
+ margin-left: 15px;
739
+ }
740
+ }
741
+
742
+ &__header {
743
+ padding: 15px 0 0px;
744
+ }
745
+
746
+ &__header-heading {
747
+ font-size: 20px;
748
+ color: var(--tide-booking-wizard-heading-color);
749
+
750
+ @include media-lg {
751
+ font-size: 24px;
752
+ }
753
+ }
754
+
755
+ &__tag {
756
+ position: absolute;
757
+ top: 15px;
758
+ left: 0;
759
+ padding: 6px 5px 6px 10px;
760
+ font-size: 14px;
761
+ line-height: 1;
762
+ text-transform: uppercase;
763
+ font-weight: var(--tide-booking-tag-font-weight);
764
+ font-family: var(--tide-booking-tag-font-family);
765
+ border: var(--tide-booking-tag-border);
766
+ border-radius: var(--tide-booking-tag-border-radius);
767
+ color: var(--tide-booking-tag-color);
768
+ background: var(--tide-booking-tag-background);
769
+
770
+ @include media-lg {
771
+ top: 25px;
772
+ padding: 6px 5px;
773
+ font-size: 16px;
774
+ }
775
+
776
+ @include media-xl {
777
+ top: 25px;
778
+ }
779
+
780
+ &-translations {
781
+ position: relative;
782
+ display: flex;
783
+ flex-direction: column;
784
+ gap: 10px;
785
+ padding: 5px 10px;
786
+
787
+ .tag-translation {
788
+ display: flex;
789
+ gap: 1px;
790
+ align-items: center;
791
+
792
+ &-input__container {
793
+ display: flex;
794
+
795
+ .checkbox__input {
796
+ position: relative;
797
+ margin: 0 10px 0 0;
798
+ }
799
+ }
800
+ }
801
+ }
802
+ }
803
+
804
+ &__toggle {
805
+ position: relative;
806
+ width: 36px;
807
+ height: 36px;
808
+ right: 5px;
809
+ display: flex;
810
+ justify-content: center;
811
+ align-items: center;
812
+ border-radius: var(--tide-booking-flight-extra-options-toggle-border-radius);
813
+ border: var(--tide-booking-flight-extra-options-toggle-border);
814
+ background: var(--tide-booking-flight-extra-options-toggle-background);
815
+
816
+ &:before {
817
+ content: '';
818
+ position: absolute;
819
+ width: 9px;
820
+ height: 9px;
821
+ border-left: 2px solid var(--tide-booking-flight-extra-options-toggle-icon-color);
822
+ border-bottom: 2px solid var(--tide-booking-flight-extra-options-toggle-icon-color);
823
+ transform: rotate(-135deg) translate3D(1px, -1px, 0);
824
+ transition: transform ease-out 0.12s;
825
+ }
826
+
827
+ @include media-lg {
828
+ right: 0px;
829
+ }
830
+ }
831
+
832
+ .price {
833
+ white-space: nowrap;
834
+ font-size: var(--tide-booking-sidebar-footer-total-font-size);
835
+
836
+ &--decrease {
837
+ color: var(--tide-booking-price-decrease);
838
+ }
839
+
840
+ &--increase {
841
+ color: var(--tide-booking-price-increase);
842
+ }
843
+ }
844
+
845
+ .table--borders {
846
+ margin-top: -10px;
847
+ margin-bottom: -5px;
848
+
849
+ @include media-lg {
850
+ margin-bottom: -15px;
851
+ }
852
+ }
853
+
854
+ select,
855
+ input,
856
+ textarea {
857
+ font-size: 14px;
858
+
859
+ @include media-lg {
860
+ font-size: 16px;
861
+ }
862
+ }
863
+ }
864
+
865
+ .booking-message {
866
+ max-width: 570px;
867
+ margin: 15px * 2 auto;
868
+ @include column;
869
+ align-items: center;
870
+ text-align: center;
871
+
872
+ &__heading {
873
+ @include column;
874
+ margin-top: 15px * 1.3;
875
+ }
876
+
877
+ &__actions {
878
+ margin-top: 15px;
879
+ }
880
+
881
+ &--error {
882
+ .booking-message {
883
+ &__heading {
884
+ color: var(--tide-booking-invalid);
885
+ }
886
+ }
887
+
888
+ .icon {
889
+ width: 50px;
890
+ height: 50px;
891
+ fill: var(--tide-booking-invalid);
892
+ }
893
+ }
894
+
895
+ &--success {
896
+ .booking-message__heading:before {
897
+ content: '';
898
+ width: 15px * 3.33;
899
+ height: 15px * 1.33;
900
+ border-left: 2.5px solid var(--tide-booking-confirmation-icon-color);
901
+ border-bottom: 2.5px solid var(--tide-booking-confirmation-icon-color);
902
+ margin: 0 auto 15px * 3 auto;
903
+ transform: rotate(-45deg);
904
+ }
905
+ }
906
+ }