@qite/tide-booking-component 1.2.4 → 1.2.5

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 (137) hide show
  1. package/.vs/ProjectSettings.json +3 -3
  2. package/.vs/VSWorkspaceState.json +5 -5
  3. package/README.md +8 -8
  4. package/build/build-cjs/booking-wizard/features/flight-options/flight-option-flight.d.ts +1 -1
  5. package/build/build-cjs/booking-wizard/features/flight-options/flight-option.d.ts +1 -1
  6. package/build/build-cjs/booking-wizard/types.d.ts +6 -0
  7. package/build/build-cjs/index.js +1200 -713
  8. package/build/build-cjs/shared/utils/localization-util.d.ts +1 -0
  9. package/build/build-esm/booking-wizard/features/flight-options/flight-option-flight.d.ts +1 -1
  10. package/build/build-esm/booking-wizard/features/flight-options/flight-option.d.ts +1 -1
  11. package/build/build-esm/booking-wizard/types.d.ts +6 -0
  12. package/build/build-esm/index.js +1201 -714
  13. package/build/build-esm/shared/utils/localization-util.d.ts +1 -0
  14. package/package.json +75 -77
  15. package/rollup.config.js +23 -23
  16. package/src/booking-product/components/age-select.tsx +35 -41
  17. package/src/booking-product/components/amount-input.tsx +78 -64
  18. package/src/booking-product/components/date-range-picker/calendar-day.tsx +58 -54
  19. package/src/booking-product/components/date-range-picker/calendar.tsx +178 -176
  20. package/src/booking-product/components/date-range-picker/index.tsx +196 -181
  21. package/src/booking-product/components/dates.tsx +136 -132
  22. package/src/booking-product/components/footer.tsx +69 -70
  23. package/src/booking-product/components/header.tsx +79 -68
  24. package/src/booking-product/components/icon.tsx +251 -208
  25. package/src/booking-product/components/product.tsx +314 -281
  26. package/src/booking-product/components/rating.tsx +21 -21
  27. package/src/booking-product/components/rooms.tsx +195 -180
  28. package/src/booking-product/index.tsx +30 -30
  29. package/src/booking-product/settings-context.ts +14 -14
  30. package/src/booking-product/types.ts +28 -28
  31. package/src/booking-product/utils/api.ts +25 -25
  32. package/src/booking-product/utils/price.ts +29 -27
  33. package/src/booking-wizard/api-settings-slice.ts +24 -24
  34. package/src/booking-wizard/components/icon.tsx +508 -309
  35. package/src/booking-wizard/components/labeled-input.tsx +64 -64
  36. package/src/booking-wizard/components/labeled-select.tsx +69 -69
  37. package/src/booking-wizard/components/message.tsx +34 -34
  38. package/src/booking-wizard/components/multi-range-filter.tsx +113 -113
  39. package/src/booking-wizard/components/product-card.tsx +37 -37
  40. package/src/booking-wizard/components/step-indicator.tsx +51 -51
  41. package/src/booking-wizard/components/step-route.tsx +27 -27
  42. package/src/booking-wizard/declarations.d.ts +4 -4
  43. package/src/booking-wizard/features/booking/api.ts +49 -45
  44. package/src/booking-wizard/features/booking/booking-self-contained.tsx +384 -357
  45. package/src/booking-wizard/features/booking/booking-slice.ts +662 -603
  46. package/src/booking-wizard/features/booking/booking.tsx +356 -349
  47. package/src/booking-wizard/features/booking/constants.ts +16 -16
  48. package/src/booking-wizard/features/booking/selectors.ts +441 -418
  49. package/src/booking-wizard/features/confirmation/confirmation.tsx +97 -94
  50. package/src/booking-wizard/features/error/error.tsx +78 -75
  51. package/src/booking-wizard/features/flight-options/flight-filter.tsx +432 -357
  52. package/src/booking-wizard/features/flight-options/flight-option-flight.tsx +385 -353
  53. package/src/booking-wizard/features/flight-options/flight-option-modal.tsx +229 -214
  54. package/src/booking-wizard/features/flight-options/flight-option.tsx +81 -66
  55. package/src/booking-wizard/features/flight-options/flight-utils.ts +516 -401
  56. package/src/booking-wizard/features/flight-options/index.tsx +196 -177
  57. package/src/booking-wizard/features/price-details/price-details-api.ts +24 -24
  58. package/src/booking-wizard/features/price-details/price-details-slice.ts +178 -171
  59. package/src/booking-wizard/features/price-details/util.ts +155 -155
  60. package/src/booking-wizard/features/product-options/no-options.tsx +21 -21
  61. package/src/booking-wizard/features/product-options/none-option.tsx +120 -120
  62. package/src/booking-wizard/features/product-options/option-booking-airline-group.tsx +64 -66
  63. package/src/booking-wizard/features/product-options/option-booking-group.tsx +216 -210
  64. package/src/booking-wizard/features/product-options/option-item.tsx +317 -318
  65. package/src/booking-wizard/features/product-options/option-pax-card.tsx +201 -188
  66. package/src/booking-wizard/features/product-options/option-pax-group.tsx +175 -169
  67. package/src/booking-wizard/features/product-options/option-room.tsx +321 -314
  68. package/src/booking-wizard/features/product-options/option-unit-group.tsx +198 -192
  69. package/src/booking-wizard/features/product-options/option-units-card.tsx +185 -174
  70. package/src/booking-wizard/features/product-options/options-form.tsx +459 -437
  71. package/src/booking-wizard/features/room-options/index.tsx +187 -172
  72. package/src/booking-wizard/features/room-options/room-utils.ts +190 -143
  73. package/src/booking-wizard/features/room-options/room.tsx +160 -124
  74. package/src/booking-wizard/features/room-options/traveler-rooms.tsx +75 -63
  75. package/src/booking-wizard/features/sidebar/index.tsx +76 -76
  76. package/src/booking-wizard/features/sidebar/sidebar-flight.tsx +68 -68
  77. package/src/booking-wizard/features/sidebar/sidebar-util.ts +177 -177
  78. package/src/booking-wizard/features/sidebar/sidebar.tsx +364 -346
  79. package/src/booking-wizard/features/summary/summary-booking-option-pax.tsx +25 -25
  80. package/src/booking-wizard/features/summary/summary-booking-option-unit.tsx +25 -25
  81. package/src/booking-wizard/features/summary/summary-flight.tsx +39 -39
  82. package/src/booking-wizard/features/summary/summary-per-booking-option-group.tsx +69 -57
  83. package/src/booking-wizard/features/summary/summary-per-pax-option-group.tsx +63 -51
  84. package/src/booking-wizard/features/summary/summary-per-unit-option-group.tsx +66 -54
  85. package/src/booking-wizard/features/summary/summary-slice.ts +28 -28
  86. package/src/booking-wizard/features/summary/summary.tsx +674 -643
  87. package/src/booking-wizard/features/travelers-form/travelers-form-slice.ts +164 -164
  88. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +754 -755
  89. package/src/booking-wizard/features/travelers-form/type-ahead-input.tsx +101 -101
  90. package/src/booking-wizard/features/travelers-form/validate-form.ts +245 -245
  91. package/src/booking-wizard/index.tsx +36 -36
  92. package/src/booking-wizard/settings-context.ts +60 -60
  93. package/src/booking-wizard/store.ts +31 -31
  94. package/src/booking-wizard/types.ts +276 -271
  95. package/src/index.ts +4 -5
  96. package/src/shared/components/loader.tsx +16 -16
  97. package/src/shared/translations/en-GB.json +232 -0
  98. package/src/shared/translations/fr-BE.json +233 -233
  99. package/src/shared/translations/nl-BE.json +232 -232
  100. package/src/shared/types.ts +4 -4
  101. package/src/shared/utils/class-util.ts +9 -9
  102. package/src/shared/utils/localization-util.ts +62 -56
  103. package/src/shared/utils/query-string-util.ts +119 -116
  104. package/src/shared/utils/tide-api-utils.ts +36 -36
  105. package/styles/booking-product-variables.scss +394 -288
  106. package/styles/booking-product.scss +446 -440
  107. package/styles/booking-wizard-variables.scss +871 -530
  108. package/styles/booking-wizard.scss +59 -26
  109. package/styles/components/_animations.scss +39 -39
  110. package/styles/components/_base.scss +107 -106
  111. package/styles/components/_booking.scss +879 -1409
  112. package/styles/components/_button.scss +238 -185
  113. package/styles/components/_checkbox.scss +219 -215
  114. package/styles/components/_cta.scss +208 -133
  115. package/styles/components/_date-list.scss +41 -0
  116. package/styles/components/_date-range-picker.scss +225 -225
  117. package/styles/components/_decrement-increment.scss +35 -37
  118. package/styles/components/_dropdown.scss +72 -74
  119. package/styles/components/_flight-option.scss +1429 -1389
  120. package/styles/components/_form.scss +1583 -394
  121. package/styles/components/_info-message.scss +71 -0
  122. package/styles/components/_input.scss +25 -0
  123. package/styles/components/_list.scss +187 -82
  124. package/styles/components/_loader.scss +72 -71
  125. package/styles/components/_mixins.scss +550 -530
  126. package/styles/components/_placeholders.scss +166 -166
  127. package/styles/components/_pricing-summary.scss +155 -117
  128. package/styles/components/_qsm.scss +17 -20
  129. package/styles/components/_radiobutton.scss +170 -0
  130. package/styles/components/_select-wrapper.scss +80 -66
  131. package/styles/components/_spinner.scss +29 -0
  132. package/styles/components/_step-indicators.scss +168 -160
  133. package/styles/components/_table.scss +81 -81
  134. package/styles/components/_tree.scss +530 -540
  135. package/styles/components/_typeahead.scss +281 -0
  136. package/styles/components/_variables.scss +89 -89
  137. package/tsconfig.json +24 -24
@@ -1,1389 +1,1429 @@
1
- .flight{
2
- display: flex;
3
- flex-direction: column;
4
- gap: 2rem;
5
-
6
- &__option{
7
- background: var(--tide-booking-flight-options-card-background);
8
- border-radius: var(--tide-booking-flight-options-card-border-radius);
9
- border: var(--tide-booking-flight-options-card-border);
10
- display: flex;
11
- flex-direction: column-reverse;
12
- overflow: hidden;
13
-
14
-
15
- @include media-sm {
16
- }
17
-
18
- &__header{
19
- display: flex;
20
- align-items: center;
21
- gap: 10px;
22
-
23
- &__wrapper{
24
- display: grid;
25
- align-items: center;
26
- grid-template-columns: repeat(3, 1fr);
27
- gap: 10px;
28
- width: 100%;
29
- }
30
-
31
- .radiobutton{
32
- padding: 0;
33
-
34
- &__input{
35
- position: relative;
36
- margin-right: 0;
37
- margin-top: 0;
38
-
39
- &:checked{
40
- .flight__option{
41
- background: $color-primary;
42
- }
43
- }
44
- }
45
- }
46
- }
47
-
48
- // &__body{
49
- // margin-top: 15px;
50
- // padding-top: 15px;
51
- // border-top: 1px solid $gray-medium;
52
-
53
- // &__wrapper{
54
- // display: grid;
55
- // grid-template-rows: repeat(1, 1fr);
56
- // gap: 10px;
57
- // margin-left: 35px;
58
-
59
- // @include media-sm {
60
- // grid-template-columns: 1fr 4fr;
61
- // }
62
- // }
63
- // }
64
- }
65
-
66
- &__footer{
67
- display: flex;
68
- justify-content: space-between;
69
- align-items: center;
70
- gap: 20px;
71
-
72
- // @include media-sm {
73
- // border-bottom: none;
74
- // border-left: 2px solid $gray-border-light;
75
- // }
76
-
77
- &__wrapper{
78
- display: flex;
79
- justify-content: space-between;
80
- align-items: center;
81
- gap: 20px;
82
- }
83
- }
84
-
85
-
86
- &__operator{
87
- width: 45px;
88
- height: 45px;
89
- border-radius: 8px;
90
- overflow: hidden;
91
-
92
- &__img{
93
- width: 100%;
94
- height: 100%;
95
- object-fit: cover;
96
- object-position: center;
97
- }
98
- }
99
-
100
- &__price{
101
- text-align: right;
102
- display: flex;
103
- align-items: center;
104
- gap: 20px;
105
-
106
- // @include media-sm {
107
- // align-items: center;
108
- // }
109
-
110
- button{
111
- width: 100%;
112
- text-align: center;
113
- justify-content: center;
114
- align-self: flex-end;
115
- @include media-md {
116
- max-width: 162px;
117
- min-width: 162px;
118
- }
119
- }
120
-
121
- strong{
122
- font-weight: 600;
123
- font-size: 20px;
124
- }
125
- }
126
-
127
- &__content{
128
- display: flex;
129
- flex-direction: column;
130
- }
131
-
132
- &__flights{
133
- display: flex;
134
- flex-direction: column;
135
- background: var(--tide-booking-flight-options-card-background);
136
- }
137
-
138
- &__flight{
139
- display: flex;
140
- flex-direction: column;
141
- gap: 0rem;
142
-
143
- // &:not(:first-child){
144
- // border-top: 2px solid $gray-border-light;
145
- // }
146
-
147
- &__header{
148
- display: flex;
149
- align-items: center;
150
- justify-content: space-between;
151
- gap: 10px;
152
- padding: 20px;
153
- background: var(--tide-booking-flight-options-card-header-background);
154
- border-bottom: var(--tide-booking-flight-options-card-header-border);
155
- }
156
-
157
- &__container{
158
- display: grid;
159
- align-items: center;
160
- grid-template-columns: 1fr auto;
161
- gap: 0rem;
162
- position: relative;
163
- padding: 20px;
164
-
165
- @include media-md {
166
- gap: 1rem;
167
- grid-template-columns: 1fr 16%;
168
- }
169
- }
170
-
171
- &__wrapper{
172
- display: grid;
173
- grid-template-rows: repeat(1, 1fr);
174
- gap: 20px;
175
-
176
-
177
- @include media-md {
178
- gap: 10px;
179
- grid-template-columns: 20% 1fr;
180
- }
181
- }
182
-
183
- &__airport{
184
- display: flex;
185
- align-items: center;
186
- }
187
-
188
- &__operator{
189
- font-size: 14px;
190
-
191
- @include media-lg {
192
- font-size: 16px;
193
- }
194
- }
195
- }
196
-
197
- &__logo{
198
- width: auto;
199
- max-height: 30px;
200
-
201
- // &__img{
202
- // width: auto;
203
- // height: 100%;
204
- // object-fit: cover;
205
- // object-position: center;
206
- // }
207
-
208
- &__wrapper{
209
- display: flex;
210
- flex-direction: row;
211
- align-items: center;
212
- gap: 3px;
213
- font-size: 12px;
214
-
215
- @include media-md {
216
- flex-direction: column;
217
- align-items: flex-start;
218
- }
219
- }
220
- }
221
-
222
- &__info{
223
- display: grid;
224
- grid-template-columns: repeat(3,1fr);
225
- gap: 10px;
226
-
227
- &__times{
228
- display: flex;
229
- flex-direction: column;
230
- gap: 0rem;
231
- font-size: 16px;
232
- line-height: 20px;
233
-
234
- &__wrapper{
235
- display: flex;
236
- flex-direction: column-reverse;
237
- justify-content: flex-end;
238
- gap: 3px;
239
-
240
- @include media-sm {
241
- flex-direction: row;
242
- justify-content: space-between;
243
- gap: 10px;
244
- }
245
-
246
- svg{
247
- fill: var(--tide-booking-flight-options-dapart-arrive-icon--color);
248
-
249
- @include media-sm {
250
- margin:0 20px;
251
- margin-top: 10px;
252
- }
253
- }
254
-
255
- &--arrival{
256
- display: flex;
257
- flex-direction: column;
258
- align-items: flex-end;
259
- justify-content: flex-start;
260
-
261
- @include media-sm {
262
- align-items: flex-start;
263
- flex-direction: row;
264
- justify-content: space-between;
265
- gap: 10px;
266
- }
267
- }
268
- }
269
-
270
- strong{
271
- color: var(--tide-booking-flight-options-times-title-color);
272
- font-family: var(--tide-booking-flight-options-times-title-font-family);
273
- font-weight: var(--tide-booking-flight-options-times-title-font-weight);
274
- }
275
-
276
- p{
277
- margin: 0;
278
- font-family: var(--tide-booking-flight-options-times-font-family);
279
- color: var(--tide-booking-flight-options-times-color);
280
- }
281
-
282
- &__days{
283
- font-size: 12px;
284
- font-weight: 300;
285
- color: $invalid;
286
- }
287
-
288
- &--arrival{
289
- align-items: flex-end;
290
- text-align: right;
291
- }
292
-
293
- }
294
-
295
- &__duration{
296
- line-height: 1.5;
297
- display: flex;
298
- flex-direction: column;
299
- align-items: center;
300
- gap: 3px;
301
- font-size: 12px;
302
-
303
- &--waittime{
304
- gap: 8px;
305
- }
306
-
307
- &__stops{
308
- display: flex;
309
- justify-content: space-evenly;
310
- align-items: center;
311
- height: 1.5px;
312
- width: 100%;
313
- background: var(--tide-booking-flight-options-stops-line-color);
314
- z-index: 1;
315
-
316
- &--stoptime{
317
- background-color: transparent;
318
- border-top: 1.5px dashed $black;
319
- height: 0;
320
- }
321
- }
322
-
323
- &__stoptime{
324
- display: flex;
325
- flex-direction: column;
326
- align-items: center;
327
- }
328
-
329
- &__stop{
330
- height: 6px;
331
- width: 6px;
332
- background: var(--tide-booking-flight-options-stop-color);
333
- border: var(--tide-booking-flight-options-stop-border);
334
- border-radius: 50%;
335
- }
336
-
337
- strong{
338
- font-weight: 700;
339
- }
340
-
341
- p{
342
- margin: 0;
343
- }
344
- }
345
- }
346
-
347
- &__detail{
348
- display: flex;
349
- flex-direction: column;
350
- gap: 20px;
351
- overflow: hidden;;
352
- height: auto;
353
- max-height: 0px;
354
- background-color: var(--tide-booking-flight-options-detail-card-background);
355
- margin: 0 20px;
356
- padding: 0 20px;
357
- margin-bottom: 0rem;
358
- border: var(--tide-booking-flight-options-detail-card-border);
359
- border-radius: var(--tide-booking-flight-options-detail-card-border-radius);
360
- // transform: scaleY(0);
361
- // transform-origin: top;
362
- opacity: 0;
363
- transition: all .3s ease, max-height 0.5s ease, opacity 0.5s ease, transform .5s ease-in-out, padding 0.3s ease-in-out;
364
-
365
- @include media-md {
366
- margin: 0 20px;
367
- }
368
-
369
- &--active{
370
- max-height: 1000px;
371
- min-height: auto;
372
- transform: scaleY(1);
373
- opacity: 1;
374
- padding: 20px;
375
- margin-bottom: 20px;
376
-
377
- @include media-md {
378
- margin-bottom: 20px;
379
- }
380
- }
381
-
382
- &__btn{
383
- display: flex;
384
- align-items: center;
385
- justify-content: center;
386
- padding: 10px;
387
- border-radius: var(--tide-booking-flight-options-detail-toggle-border-radius);
388
- font-size: 14px;
389
- color: var(--tide-booking-flight-options-detail-toggle-icon-color);
390
- background: var(--tide-booking-flight-options-detail-toggle-background);
391
- border: var(--tide-booking-flight-options-detail-toggle-border);
392
- cursor: pointer;
393
- transition: all .3s ease-in-out;
394
-
395
- &__wrapper{
396
- position: absolute;
397
- top: 20px;
398
- right: 20px;
399
- display: flex;
400
- align-items: center;
401
- justify-content: flex-end;
402
- gap: 5px;
403
- padding: 0%;
404
-
405
- @include media-md {
406
- position: relative;
407
- top: 0;
408
- right: 0;
409
- }
410
- }
411
-
412
- svg{
413
- fill: var(--tide-booking-flight-options-detail-toggle-icon-color);
414
- transition: all .3s ease-in-out;
415
- }
416
-
417
- &:hover, &:focus{
418
- color: var(--tide-booking-flight-options-detail-toggle-icon-color-hover);
419
- background: var(--tide-booking-flight-options-detail-toggle-background-hover);
420
- border: var(--tide-booking-flight-options-detail-toggle-border-hover);
421
-
422
- svg{
423
- fill: var(--tide-booking-flight-options-detail-toggle-icon-color-hover);
424
- }
425
- }
426
-
427
- &--active{
428
- .flight__detail__btn__arrow{
429
- transform: rotate(90deg);
430
- }
431
- }
432
- }
433
-
434
- .flight__info{
435
- &__times{
436
- font-size: 14px;
437
-
438
- p{
439
- font-size: 12px;
440
-
441
- @include media-md {
442
- font-size: 14px;
443
- }
444
- }
445
- }
446
- }
447
- }
448
-
449
- &__rate{
450
- display: flex;
451
- flex-direction: column;
452
- // border-top: 2px solid $gray-border-light;
453
- overflow-y: hidden;
454
- background-color: $white;
455
- height: 100%;
456
- max-height: 1.5px;
457
- transition: all .3s ease-in-out;
458
-
459
-
460
-
461
- &__container{
462
- display: flex;
463
- flex-direction: column;
464
- gap: 20px;
465
- padding: 20px;
466
-
467
- @include media-md {
468
- flex-direction: row;
469
- align-items: flex-start;
470
- justify-content: space-between;
471
- gap: 20px;
472
- }
473
- }
474
-
475
- &__title{
476
- display: flex;
477
- flex-direction: column;
478
- h2{
479
- font-size: 20px;
480
- font-family: proxima-nova, sans-serif;
481
- color: $gray-dark;
482
- margin-bottom: 0rem;
483
-
484
- @include media-md {
485
- font-size: 30px;
486
- }
487
-
488
- strong{
489
- font-weight: 600;
490
- color: $black;
491
- }
492
- }
493
- }
494
-
495
- &__wrapper{
496
- display: flex;
497
- align-items: center;
498
- gap: 20px;
499
- overflow-x: auto;
500
- @extend %scrollbar-none;
501
- margin: -20px;
502
- padding: 20px;
503
-
504
- @include media-md{
505
- overflow-x: visible;
506
- }
507
- }
508
-
509
- &__card{
510
- border: solid 1px $gray-border-medium;
511
- border-top: 3px solid $economy;
512
- border-radius: 10px;
513
- max-width: 180px;
514
- min-width: 180px;
515
- // opacity: 0.7;
516
- cursor: pointer;
517
- transform: scale(1);
518
- transition: all .3s ease-in-out;
519
-
520
- &__header{
521
- display: flex;
522
- justify-content: space-between;
523
- align-items: center;
524
- gap: 10px;
525
- padding: 10px;
526
- background: $economy-background;
527
- border-radius: 1rem 1rem 0 0;
528
-
529
- &__title{
530
- font-family: "proxima-nova", sans-serif;
531
- font-size: 18px;
532
- font-weight: 500;
533
- color: $economy;
534
- margin: 0;
535
- }
536
- }
537
-
538
- &__content{
539
- display: flex;
540
- flex-direction: column;
541
- justify-content: flex-end;
542
- padding: 10px;
543
- overflow: hidden;
544
- min-height: 70px;
545
- max-height: 70px;
546
- }
547
-
548
- &__item{
549
- display: flex;
550
- align-items: center;
551
- justify-content: space-between;
552
- gap: 3px;
553
- color: $gray-dark;
554
- font-size: 20px;
555
- font-weight: 500;
556
-
557
-
558
- svg{
559
- fill: $economy;
560
- transform: rotate(0deg);
561
- transition: all .3s ease-in-out;
562
- }
563
-
564
- }
565
-
566
- &__chairs{
567
- font-size: 12px;
568
- font-weight: lighter;
569
- color: $price-increase;
570
- }
571
-
572
- &__lowest{
573
- font-size: 14px;
574
- font-weight: bold;
575
- color: $price-decrease;
576
- }
577
-
578
- &--active{
579
- border-width: 2px;
580
- border-color: $economy;
581
- border-top: 3px solid $economy;
582
-
583
- .flight__rate__card__item svg{
584
- transform: rotate(90deg);
585
- }
586
- }
587
-
588
- &:hover{
589
- transform: scale(1.05);
590
- }
591
-
592
- &--premium{
593
- border-top: 3px solid $premium;
594
-
595
- .flight__rate__card__header{
596
- background: $premium-background;
597
- }
598
-
599
- .flight__rate__card__header__title{
600
- color: $premium;
601
- }
602
-
603
- .flight__rate__card__item svg{
604
- fill: $premium;
605
- }
606
-
607
- &--active{
608
- border-width: 2px;
609
- border-color: $premium;
610
- border-top: 3px solid $premium;
611
-
612
- .flight__rate__card__item svg{
613
- transform: rotate(90deg);
614
- }
615
- }
616
- }
617
-
618
- &--business{
619
- border-top: 3px solid $business;
620
-
621
- .flight__rate__card__header{
622
- background: $business-background;
623
- }
624
-
625
- .flight__rate__card__header__title{
626
- color: $business;
627
- }
628
-
629
- .flight__rate__card__item svg{
630
- fill: $business;
631
- }
632
-
633
- &--active{
634
- border-width: 2px;
635
- border-color: $business;
636
- border-top: 3px solid $business;
637
-
638
- .flight__rate__card__item svg{
639
- transform: rotate(90deg);
640
- }
641
- }
642
- }
643
- }
644
-
645
- p{
646
- font-size: 12px;
647
- margin: 0;
648
-
649
- strong{
650
- font-weight: 700;
651
- }
652
- }
653
-
654
- &__change{
655
- font-size: 12px;
656
- }
657
-
658
- &__modal{
659
- background: #f9f9f9;
660
- border-radius: 10px;
661
- width: 100%;
662
- max-width: 1440px;
663
- max-height: 920px;
664
- height: calc(100vh - 40px);
665
- z-index: 101;
666
- position: relative;
667
- display: grid;
668
- grid-template-rows: auto 60px 1fr auto;
669
-
670
- @include media-sm {
671
- margin: 45px 20px;
672
- height: calc(100vh - 90px);
673
- }
674
-
675
- @include media-lg {
676
- margin: 45px;
677
- }
678
-
679
- &__container{
680
- position: fixed;
681
- height: 100vh;
682
- width: 100vw;
683
- display: none;
684
- justify-content: center;
685
- align-items: center;
686
- z-index: 100;
687
- top: 0;
688
- left: 0;
689
-
690
- &::after{
691
- content: "";
692
- position: absolute;
693
- height: 100%;
694
- width: 100%;
695
- background: #0a0a0abb;
696
- z-index: 100;
697
- }
698
-
699
- &--active{
700
- display: flex;
701
- }
702
- }
703
-
704
- &__header{
705
- display: flex;
706
- justify-content: space-between;
707
- align-items: center;
708
- gap: 10px;
709
- padding: 20px;
710
- background-color: $white;
711
- border-radius: 10px 10px 0px 0px;
712
- box-shadow: 0px 3px 10px 0px #00000021;
713
- position: relative;
714
- z-index: 1;
715
-
716
- &__title{
717
- font-family: "proxima-nova", sans-serif;
718
- font-size: 16px;
719
- font-weight: 500;
720
- margin: 0;
721
- }
722
-
723
- &__close{
724
- font-size: 16px;
725
- background-color: transparent;
726
- border: none;
727
- height: auto;
728
- cursor: pointer;
729
- }
730
- }
731
-
732
- &__content{
733
- padding: 2rem;
734
- overflow: auto;
735
- @extend %scrollbar-thin;
736
- display: grid;
737
- grid-auto-columns: 310px;
738
- grid-auto-flow: column;
739
- gap: 20px;
740
- }
741
-
742
- &__tabs{
743
- display: flex;
744
- gap: 1rem;
745
- padding: 0 20px;
746
- margin-bottom: 10px;
747
- background-color: $white;
748
- height: 60px;
749
- }
750
-
751
- &__tab{
752
- font-size: 12px;
753
- color: $gray-medium;
754
- background: transparent;
755
- border: none;
756
- border-bottom: solid 2px $white;
757
- cursor: pointer;
758
- transition: border .3s ease-in-out;
759
- height: 100%;
760
-
761
- @include media-md {
762
- font-size: 16px;
763
- }
764
-
765
- &:hover, &:focus{
766
- color: $btn-hover;
767
- }
768
-
769
- &--active{
770
- color: $color-primary;
771
- border-bottom: solid 2px $color-primary;
772
- }
773
- }
774
-
775
- &__card{
776
- background: $white;
777
- border-radius: 10px;
778
- display: flex;
779
- flex-direction: column;
780
- justify-content: space-between;
781
- gap: 1rem;
782
- height: auto;
783
- border: solid 1px $gray-border-medium;
784
- border-top: 3px solid $economy;
785
- // min-height: calc(100% - 40px);
786
-
787
- &__header{
788
- padding: 0 20px;
789
- padding-top: 20px;
790
- background: $economy-background;
791
- border-radius: 10px 10px 0 0;
792
-
793
- &__title{
794
- font-family: "proxima-nova", sans-serif;
795
- font-size: 20px;
796
- margin: 0;
797
- color: $economy;
798
- }
799
-
800
- &__class{
801
- font-size: 12px;
802
- font-weight: 300;
803
- margin: 0;
804
- }
805
- }
806
-
807
- &__items{
808
- display: flex;
809
- flex-direction: column;
810
- gap: 10px;
811
- padding: 20px;
812
-
813
- &--top{
814
- background: $economy-background;
815
- }
816
- }
817
-
818
- &__item{
819
- display: grid;
820
- grid-template-columns: 20px 1fr;
821
- align-items: center;
822
- gap: 10px;
823
-
824
- svg{
825
- fill: $gray-dark;
826
- }
827
-
828
- &__wrapper{
829
- font-size: 12px;
830
-
831
- p{
832
- margin: 0;
833
- }
834
-
835
- strong{
836
- font-weight: 700;
837
- }
838
- }
839
-
840
- &--border{
841
- width: 100%;
842
- height: 1px;
843
- background: $gray-border-light;
844
- }
845
-
846
- &--disabled{
847
- opacity: 0.25;
848
- }
849
- }
850
-
851
- &__footer{
852
- display: flex;
853
- flex-direction: row-reverse;
854
- justify-content: space-between;
855
- align-items: center;
856
- gap: 10px;
857
- padding:0 20px;
858
- padding-bottom: 20px;
859
-
860
- button{
861
- width: 100%;
862
- text-align: center;
863
- justify-content: center;
864
- @include media-md {
865
- max-width: 162px;
866
- }
867
- }
868
-
869
- .price {
870
- white-space: nowrap;
871
-
872
- &--decrease {
873
- color: $price-decrease;
874
- }
875
-
876
- &--increase {
877
- color: $price-increase;
878
- }
879
- }
880
- }
881
-
882
- &--premium{
883
- border-top: 3px solid $premium;
884
-
885
- .flight__rate__modal__card__header, .flight__rate__modal__card__items--top{
886
- background: $premium-background;
887
- }
888
-
889
- .flight__rate__modal__card__header__title{
890
- color: $premium;
891
- }
892
- }
893
-
894
- &--business{
895
- border-top: 3px solid $business;
896
-
897
- .flight__rate__modal__card__header, .flight__rate__modal__card__items--top{
898
- background: $business-background;
899
- }
900
-
901
- .flight__rate__modal__card__header__title{
902
- color: $business;
903
- }
904
- }
905
- }
906
-
907
- &__footer{
908
- display: flex;
909
- justify-content: flex-end;
910
- gap: 10px;
911
- padding: 20px;
912
- background-color: $white;
913
- border-radius: 0px 0px 10px 10px;
914
- box-shadow: 0px -3px 10px 0px #00000021;
915
-
916
- button{
917
- width: 100%;
918
- text-align: center;
919
- justify-content: center;
920
- @include media-md {
921
- max-width: 162px;
922
- }
923
- }
924
- }
925
- }
926
-
927
- &__detail{
928
- overflow: auto;
929
- @extend %scrollbar-thin;
930
- display: none;
931
- grid-auto-columns: 310px;
932
- grid-auto-flow: column;
933
- gap: 20px;
934
- padding:0rem 20px;
935
- max-height: 0px;
936
- opacity: 0;
937
- transition: max-height 0.5s ease-in-out, opacity 0.3s ease-in-out, padding-bottom 0.3s ease-in-out;
938
-
939
- @include media-md {
940
- display: grid;
941
- }
942
-
943
- &--active{
944
- display: none;
945
- max-height: 1000px;
946
- opacity: 1;
947
- padding-bottom: 20px;
948
-
949
- @include media-md {
950
- display: grid;
951
- }
952
- }
953
-
954
- }
955
-
956
- &--active{
957
- height: 100%;
958
- max-height: 1000px;
959
- }
960
- }
961
-
962
- &__status{
963
- display: flex;
964
- justify-content: center;
965
- align-items: center;
966
- gap: 10px;
967
- color: $white;
968
- background: $color-primary;
969
- border-radius: 50%;
970
- padding: 10px;
971
- font-size: 12px;
972
- font-weight: 300;
973
- width: 30px;
974
- height: 30px;
975
-
976
- &--pub{
977
- background: $price-decrease;
978
- }
979
- }
980
-
981
- &__airport{
982
- display: none;
983
- align-items: center;
984
- gap: 5px;
985
-
986
- @include media-sm {
987
- display: flex;
988
- }
989
- }
990
-
991
- &__times{
992
- display: flex;
993
- flex-direction: column;
994
- align-items: flex-end;
995
-
996
- &__date{
997
- font-size: 14px;
998
-
999
- @include media-lg {
1000
- font-size: 16px;
1001
- }
1002
- }
1003
- }
1004
-
1005
- &__filter{
1006
- max-width: 360px;
1007
- position: fixed;
1008
- left: 0%;
1009
- top: 0;
1010
- z-index: 100;
1011
- display: flex;
1012
- flex-direction: column;
1013
- gap: 20px;
1014
- background: $white;
1015
- height: 100%;
1016
- max-height: 97.3vh;
1017
- width: 100%;
1018
- padding: 20px;
1019
- box-shadow: 0px 0px 5px rgba(158, 158, 158, 0.447);
1020
- transform: translateX(-100%);
1021
- transition: all .3s ease-in-out;
1022
- overflow-y: auto;
1023
- @extend %scrollbar-thin;
1024
-
1025
- &--active{
1026
- transform: translateX(0%);
1027
- }
1028
-
1029
- &__header{
1030
- display: flex;
1031
- justify-content: space-between;
1032
- align-items: flex-start;
1033
- gap: 10px;
1034
-
1035
- &__title{
1036
- h3{
1037
- margin-bottom: 0rem;
1038
- }
1039
-
1040
- p{
1041
- font-weight: var(--tide-booking-flight-options-filter-header-text-font-weight);
1042
- color: var(--tide-booking-flight-options-filter-header-text-color);
1043
- font-size: 16px;
1044
- }
1045
-
1046
- strong{
1047
- font-weight: var(--tide-booking-flight-options-filter-header-text-strong-font-weight);
1048
- color: var(--tide-booking-flight-options-filter-header-text-strong-color);
1049
- }
1050
- }
1051
- }
1052
-
1053
- &__body{
1054
- display: flex;
1055
- flex-direction: column;
1056
- gap: 30px;
1057
- }
1058
-
1059
- &__group{
1060
- display: flex;
1061
- flex-direction: column;
1062
- gap: 20px;
1063
-
1064
- &__title{
1065
- font-family: var(--tide-booking-flight-options-filter-group-title-text-font-family);
1066
- font-size: 18px;
1067
- font-weight: var(--tide-booking-flight-options-filter-group-title-text-font-weight);
1068
- color: var(--tide-booking-flight-options-filter-group-title-text-color);
1069
- display: flex;
1070
- justify-content: space-between;
1071
- align-items: center;
1072
- padding-bottom: 5px;
1073
- border-bottom: var(--tide-booking-flight-options-filter-group-title-text-border);
1074
-
1075
- svg{
1076
- fill: $color-primary;
1077
- }
1078
- }
1079
-
1080
- &__wrapper{
1081
- display: flex;
1082
- flex-direction: column;
1083
- gap: 10px;
1084
-
1085
- p{
1086
- margin: 0px;
1087
- font-size: 16px;
1088
- padding: 0rem 10px;
1089
- font-family: var(--tide-booking-flight-options-filter-group-title-subtext-font-family);
1090
- font-weight: var(--tide-booking-flight-options-filter-group-title-subtext-font-weight);
1091
- color: var(--tide-booking-flight-options-filter-group-title-subtext-color);
1092
- }
1093
- }
1094
-
1095
- .tree{
1096
- padding: 7.5px 10px;
1097
-
1098
- .checkbox, .radiobutton{
1099
- padding: 0rem 15px 0 28px
1100
- }
1101
-
1102
- .checkbox__input--parent, .radiobutton__input--parent{
1103
- top: -1px;
1104
- }
1105
-
1106
- .radiobutton__label-text{
1107
- display: flex;
1108
- flex-direction: row;
1109
- align-items: center;
1110
- gap: 5px;
1111
- color: var(--tide-booking-checkbox-color-text);
1112
-
1113
- .amount{
1114
- color: $color-primary;
1115
- }
1116
- }
1117
- }
1118
- }
1119
-
1120
- &__slider {
1121
- display: flex;
1122
- flex-direction: column;
1123
- gap: 10px;
1124
- padding: 7.5px 10px;
1125
-
1126
- &__value{
1127
- font-size: 12px;
1128
- display: flex;
1129
- justify-content: space-between;
1130
- width: 100%;
1131
- }
1132
-
1133
- // .slider--progress {
1134
- // -webkit-appearance: none;
1135
- // width: 90%;
1136
- // height: 4px;
1137
- // border-radius: 5px;
1138
- // background: linear-gradient(to right, $color-primary 0%, $color-primary calc((var(--value) - 2) / 5 * 100%), $gray-light calc((var(--value) - 2) / 5 * 100%), $gray-light 100%);
1139
- // outline: none;
1140
- // opacity: 0.7;
1141
- // transition: opacity .15s ease-in-out;
1142
-
1143
- // &::-webkit-slider-runnable-track {
1144
- // width: 90%;
1145
- // height: 4px;
1146
- // cursor: pointer;
1147
- // animate: 0.2s;
1148
- // background: linear-gradient(to right, $color-primary 0%, $color-primary calc((var(--value) - 2) / 5 * 100%), $gray-light calc((var(--value) - 2) / 5 * 100%), $gray-light 100%);
1149
- // border-radius: 5px;
1150
- // }
1151
-
1152
- // &::-moz-range-track {
1153
- // width: 90%;
1154
- // height: 4px;
1155
- // cursor: pointer;
1156
- // animate: 0.2s;
1157
- // background: linear-gradient(to right, $color-primary 0%, $color-primary calc((var(--value) - 2) / 5 * 100%), $gray-light calc((var(--value) - 2) / 5 * 100%), $gray-light 100%);
1158
- // border-radius: 5px;
1159
- // }
1160
-
1161
- // &::-webkit-slider-thumb {
1162
- // -webkit-appearance: none;
1163
- // appearance: none;
1164
- // width: 16px;
1165
- // height: 16px;
1166
- // border-radius: 50%;
1167
- // background: $color-primary;
1168
- // cursor: pointer;
1169
- // margin-top: -5px;
1170
- // }
1171
-
1172
- // &::-moz-range-thumb {
1173
- // width: 16px;
1174
- // height: 16px;
1175
- // border-radius: 50%;
1176
- // background: $color-primary;
1177
- // cursor: pointer;
1178
- // margin-top: -5px;
1179
- // }
1180
- // }
1181
-
1182
-
1183
-
1184
- }
1185
-
1186
- .double-slider-box {
1187
- background-color: transparent;
1188
- border-radius: 10px;
1189
- width: 100%;
1190
- max-width: 342px;
1191
- margin-left: 10px;
1192
- }
1193
-
1194
- .range-slider {
1195
- position: relative;
1196
- width: 100%;
1197
- height: 5px;
1198
- margin: 30px 0;
1199
- background-color: var(--tide-booking-slider-range-background);
1200
- border-radius: 5px;
1201
-
1202
- input{
1203
- padding: 0rem;
1204
- }
1205
- }
1206
-
1207
- .slider-track {
1208
- height: 100%;
1209
- position: absolute;
1210
- background-color: var(--tide-booking-slider-track-background);
1211
- left: 0;
1212
- right: 100%;
1213
- border-radius: 5px;
1214
- }
1215
-
1216
- .range-slider input[type="range"] {
1217
- position: absolute;
1218
- width: 101%;
1219
- left: -3px;
1220
- top: 0;
1221
- transform: translateY(-50%);
1222
- background: none;
1223
- pointer-events: none;
1224
- border: none;
1225
- appearance: none;
1226
- height: 5px;
1227
- }
1228
-
1229
- input[type="range"]::-webkit-slider-thumb {
1230
- height: 25px;
1231
- width: 25px;
1232
- border-radius: 50%;
1233
- border: 3px solid var(--tide-booking-slider-thumb-border-color);
1234
- background: var(--tide-booking-slider-thumb-background);
1235
- pointer-events: auto;
1236
- appearance: none;
1237
- cursor: pointer;
1238
- box-shadow: 0 1.25px 5.625px -1.25px rgba(0, 0, 0, 0.25);
1239
- position: relative;
1240
- z-index: 2; /* Ensure thumbs appear above the track */
1241
- }
1242
-
1243
- input[type="range"]::-moz-range-thumb {
1244
- height: 25px;
1245
- width: 25px;
1246
- border-radius: 50%;
1247
- border: 3px solid var(--tide-booking-slider-thumb-border-color);
1248
- background: var(--tide-booking-slider-thumb-background);
1249
- pointer-events: auto;
1250
- cursor: pointer;
1251
- box-shadow: 0 1.25px 5.625px -1.25px rgba(0, 0, 0, 0.25);
1252
- position: relative;
1253
- z-index: 2;
1254
- }
1255
-
1256
- .input-box {
1257
- display: flex;
1258
- justify-content: space-between;
1259
- width: 100%;
1260
- }
1261
-
1262
- .min-box,
1263
- .max-box {
1264
- width: 50%;
1265
- font-size: 16px;
1266
- }
1267
-
1268
- .min-box {
1269
- margin-right: 10px;
1270
- }
1271
-
1272
- .max-box {
1273
- text-align: right;
1274
- }
1275
-
1276
- input[type="number"] {
1277
- width: 40px;
1278
- padding: 10px;
1279
- border: 1px solid #ccc;
1280
- border-radius: 5px;
1281
- text-align: center;
1282
- }
1283
-
1284
- .min-tooltip,
1285
- .max-tooltip {
1286
- position: absolute;
1287
- top: -35px;
1288
- font-size: 12px;
1289
- color: #555;
1290
- background-color: #fff;
1291
- padding: 5px;
1292
- border: 1px solid #ddd;
1293
- border-radius: 5px;
1294
- white-space: nowrap;
1295
- z-index: 1;
1296
- }
1297
-
1298
- .min-tooltip {
1299
- left: 20px;
1300
- transform: translateX(-50%);
1301
- }
1302
-
1303
- .max-tooltip {
1304
- right: 20px;
1305
- transform: translateX(50%);
1306
- }
1307
- }
1308
- }
1309
-
1310
-
1311
- // .flight-option {
1312
- // @extend %reset;
1313
- // width: 100%;
1314
- // padding: $gutter;
1315
-
1316
- // &:not(:first-child) {
1317
- // margin-top: $gutter;
1318
- // border-top: 1px solid $gray-medium;
1319
- // }
1320
-
1321
- // &__header {
1322
- // display: flex;
1323
- // align-items: flex-start;
1324
-
1325
- // @include media-md {
1326
- // margin-bottom: 0;
1327
- // justify-content: space-between;
1328
- // }
1329
- // }
1330
-
1331
- // &__header-copy {
1332
- // padding-top: 0.75rem;
1333
- // font-size: 1.4rem;
1334
-
1335
- // @include media-md {
1336
- // font-size: 1.6rem;
1337
- // }
1338
- // }
1339
-
1340
- // &__header-actions {
1341
- // margin-left: auto;
1342
- // display: flex;
1343
- // align-items: center;
1344
-
1345
- // .cta {
1346
- // display: none;
1347
-
1348
- // @include media-md {
1349
- // display: flex;
1350
- // }
1351
- // }
1352
- // }
1353
-
1354
- // &__select {
1355
- // position: relative;
1356
-
1357
- // @include media-md {
1358
- // display: none;
1359
- // }
1360
- // }
1361
-
1362
- // &__select-label {
1363
- // padding: 0.3rem $gutter * 0.5;
1364
- // margin-top: -1.5rem;
1365
- // margin-bottom: 1rem;
1366
- // display: inline-flex;
1367
- // align-items: center;
1368
- // font-size: 1.3rem;
1369
- // text-transform: uppercase;
1370
- // border-radius: 0 0 0.5rem 0.5rem;
1371
- // color: $white;
1372
- // background-color: $color-primary;
1373
-
1374
- // @include media-md {
1375
- // display: none;
1376
- // }
1377
-
1378
- // &:before {
1379
- // content: "";
1380
- // width: 10px;
1381
- // height: 0.5rem;
1382
- // margin: -0.5rem 0.5rem 0 0;
1383
- // display: inline-block;
1384
- // border-left: 2px solid $white;
1385
- // border-bottom: 2px solid $white;
1386
- // transform: rotate(-45deg);
1387
- // }
1388
- // }
1389
- // }
1
+ .flight {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 2rem;
5
+
6
+ &__option {
7
+ background: var(--tide-booking-flight-options-card-background);
8
+ border-radius: var(--tide-booking-flight-options-card-border-radius);
9
+ outline: var(--tide-booking-flight-options-card-border);
10
+ display: flex;
11
+ flex-direction: column-reverse;
12
+ overflow: hidden;
13
+
14
+ @include media-sm {
15
+ }
16
+
17
+ &__header {
18
+ display: flex;
19
+ align-items: center;
20
+ gap: 10px;
21
+
22
+ &__wrapper {
23
+ display: grid;
24
+ align-items: center;
25
+ grid-template-columns: repeat(3, 1fr);
26
+ gap: 10px;
27
+ width: 100%;
28
+ }
29
+
30
+ .radiobutton {
31
+ padding: 0;
32
+
33
+ &__input {
34
+ position: relative;
35
+ margin-right: 0;
36
+ margin-top: 0;
37
+
38
+ &:checked {
39
+ .flight__option {
40
+ background: var(--tide-booking-color-primary);
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
46
+
47
+ // &__body{
48
+ // margin-top: 15px;
49
+ // padding-top: 15px;
50
+ // border-top: 1px solid $gray-medium;
51
+
52
+ // &__wrapper{
53
+ // display: grid;
54
+ // grid-template-rows: repeat(1, 1fr);
55
+ // gap: 10px;
56
+ // margin-left: 35px;
57
+
58
+ // @include media-sm {
59
+ // grid-template-columns: 1fr 4fr;
60
+ // }
61
+ // }
62
+ // }
63
+ }
64
+
65
+ &__footer {
66
+ display: flex;
67
+ justify-content: space-between;
68
+ align-items: center;
69
+ gap: 20px;
70
+
71
+ // @include media-sm {
72
+ // border-bottom: none;
73
+ // border-left: 2px solid $gray-border-light;
74
+ // }
75
+
76
+ &__wrapper {
77
+ display: flex;
78
+ justify-content: space-between;
79
+ align-items: center;
80
+ gap: 20px;
81
+ }
82
+ }
83
+
84
+ &__operator {
85
+ width: 45px;
86
+ height: 45px;
87
+ border-radius: 8px;
88
+ overflow: hidden;
89
+
90
+ &__img {
91
+ width: 100%;
92
+ height: 100%;
93
+ object-fit: cover;
94
+ object-position: center;
95
+ }
96
+ }
97
+
98
+ &__price {
99
+ text-align: right;
100
+ display: flex;
101
+ align-items: center;
102
+ gap: 20px;
103
+
104
+ // @include media-sm {
105
+ // align-items: center;
106
+ // }
107
+
108
+ button {
109
+ width: 100%;
110
+ text-align: center;
111
+ justify-content: center;
112
+ align-self: flex-end;
113
+ @include media-md {
114
+ max-width: 162px;
115
+ min-width: 162px;
116
+ }
117
+ }
118
+
119
+ strong {
120
+ font-weight: 600;
121
+ font-size: 20px;
122
+ }
123
+ }
124
+
125
+ &__content {
126
+ display: flex;
127
+ flex-direction: column;
128
+ }
129
+
130
+ &__flights {
131
+ display: flex;
132
+ flex-direction: column;
133
+ background: var(--tide-booking-flight-options-card-background);
134
+ }
135
+
136
+ &__flight {
137
+ display: flex;
138
+ flex-direction: column;
139
+ gap: 0rem;
140
+
141
+ // &:not(:first-child){
142
+ // border-top: 2px solid $gray-border-light;
143
+ // }
144
+
145
+ &__header {
146
+ display: flex;
147
+ align-items: center;
148
+ justify-content: space-between;
149
+ gap: 10px;
150
+ padding: 15px;
151
+ background: var(--tide-booking-flight-options-card-header-background);
152
+ border-bottom: var(--tide-booking-flight-options-card-header-border);
153
+ }
154
+
155
+ &__container {
156
+ display: grid;
157
+ align-items: center;
158
+ grid-template-columns: 1fr auto;
159
+ gap: 0rem;
160
+ position: relative;
161
+ padding: 20px 15px;
162
+
163
+ @include media-md {
164
+ gap: 1rem;
165
+ grid-template-columns: 1fr 16%;
166
+ }
167
+ }
168
+
169
+ &__wrapper {
170
+ display: grid;
171
+ grid-template-rows: repeat(1, 1fr);
172
+ gap: 20px;
173
+
174
+ @include media-md {
175
+ gap: 10px;
176
+ grid-template-columns: 20% 1fr;
177
+ }
178
+ }
179
+
180
+ &__airport {
181
+ display: flex;
182
+ align-items: center;
183
+ }
184
+
185
+ &__operator {
186
+ font-size: 14px;
187
+
188
+ @include media-lg {
189
+ font-size: 16px;
190
+ }
191
+ }
192
+ }
193
+
194
+ &__logo {
195
+ width: auto;
196
+ max-height: 30px;
197
+
198
+ // &__img{
199
+ // width: auto;
200
+ // height: 100%;
201
+ // object-fit: cover;
202
+ // object-position: center;
203
+ // }
204
+
205
+ &__wrapper {
206
+ display: flex;
207
+ flex-direction: row;
208
+ align-items: center;
209
+ gap: 3px;
210
+ font-size: 12px;
211
+
212
+ @include media-md {
213
+ flex-direction: column;
214
+ align-items: flex-start;
215
+ }
216
+ }
217
+ }
218
+
219
+ &__info {
220
+ display: grid;
221
+ grid-template-columns: repeat(3, 1fr);
222
+ gap: 10px;
223
+
224
+ &__times {
225
+ display: flex;
226
+ flex-direction: column;
227
+ gap: 0rem;
228
+ font-size: 16px;
229
+ line-height: 20px;
230
+
231
+ &__wrapper {
232
+ display: flex;
233
+ flex-direction: column-reverse;
234
+ justify-content: flex-end;
235
+ gap: 3px;
236
+
237
+ @include media-sm {
238
+ flex-direction: row;
239
+ justify-content: space-between;
240
+ gap: 10px;
241
+ }
242
+
243
+ svg {
244
+ fill: var(--tide-booking-flight-options-dapart-arrive-icon--color);
245
+
246
+ @include media-sm {
247
+ margin: 0 20px;
248
+ margin-top: 10px;
249
+ }
250
+ }
251
+
252
+ &--arrival {
253
+ display: flex;
254
+ flex-direction: column;
255
+ align-items: flex-end;
256
+ justify-content: flex-start;
257
+
258
+ @include media-sm {
259
+ align-items: flex-start;
260
+ flex-direction: row;
261
+ justify-content: space-between;
262
+ gap: 10px;
263
+ }
264
+ }
265
+ }
266
+
267
+ strong {
268
+ color: var(--tide-booking-flight-options-times-title-color);
269
+ font-family: var(--tide-booking-flight-options-times-title-font-family);
270
+ font-weight: var(--tide-booking-flight-options-times-title-font-weight);
271
+ }
272
+
273
+ p {
274
+ margin: 0;
275
+ font-family: var(--tide-booking-flight-options-times-font-family);
276
+ color: var(--tide-booking-flight-options-times-color);
277
+ }
278
+
279
+ &__days {
280
+ font-size: 12px;
281
+ font-weight: 300;
282
+ color: var(--tide-booking-invalid);
283
+ }
284
+
285
+ &--arrival {
286
+ align-items: flex-end;
287
+ text-align: right;
288
+ }
289
+ }
290
+
291
+ &__duration {
292
+ line-height: 1.5;
293
+ display: flex;
294
+ flex-direction: column;
295
+ align-items: center;
296
+ gap: 3px;
297
+ font-size: 12px;
298
+
299
+ span {
300
+ text-align: center;
301
+ }
302
+
303
+ &--waittime {
304
+ gap: 8px;
305
+ }
306
+
307
+ &__stops {
308
+ display: flex;
309
+ justify-content: space-evenly;
310
+ align-items: center;
311
+ height: 1.5px;
312
+ width: 100%;
313
+ background: var(--tide-booking-flight-options-stops-line-color);
314
+ z-index: 1;
315
+
316
+ &--stoptime {
317
+ background-color: transparent;
318
+ border-top: 1.5px dashed
319
+ var(--tide-booking-flight-options-stoptime-border-color);
320
+ height: 0;
321
+ }
322
+ }
323
+
324
+ &__stoptime {
325
+ display: flex;
326
+ flex-direction: column;
327
+ align-items: center;
328
+ }
329
+
330
+ &__stop {
331
+ height: 6px;
332
+ width: 6px;
333
+ background: var(--tide-booking-flight-options-stop-color);
334
+ border: var(--tide-booking-flight-options-stop-border);
335
+ border-radius: 50%;
336
+ }
337
+
338
+ strong {
339
+ font-weight: 700;
340
+ }
341
+
342
+ p {
343
+ margin: 0;
344
+ }
345
+ }
346
+ }
347
+
348
+ &__detail {
349
+ display: flex;
350
+ flex-direction: column;
351
+ gap: 20px;
352
+ overflow: hidden;
353
+ background-color: var(--tide-booking-flight-options-detail-card-background);
354
+ margin: 0 15px;
355
+ padding: 0 20px;
356
+ border: var(--tide-booking-flight-options-detail-card-border);
357
+ border-radius: var(--tide-booking-flight-options-detail-card-border-radius);
358
+ opacity: 0;
359
+ transform: scaleY(0.95);
360
+ transform-origin: top;
361
+ height: 0;
362
+ transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease,
363
+ padding 0.4s ease, margin-bottom 0.4s ease,
364
+ height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
365
+
366
+ @include media-md {
367
+ margin: 0 15px;
368
+ }
369
+
370
+ &--active {
371
+ transform: scaleY(1);
372
+ opacity: 1;
373
+ height: auto;
374
+ padding: 20px;
375
+ margin-bottom: 20px;
376
+
377
+ @include media-md {
378
+ margin-bottom: 20px;
379
+ }
380
+ }
381
+
382
+ &__btn {
383
+ display: flex;
384
+ align-items: center;
385
+ justify-content: center;
386
+ padding: 10px;
387
+ border-radius: var(
388
+ --tide-booking-flight-options-detail-toggle-border-radius
389
+ );
390
+ font-size: 14px;
391
+ color: var(--tide-booking-flight-options-detail-toggle-icon-color);
392
+ background: var(--tide-booking-flight-options-detail-toggle-background);
393
+ border: var(--tide-booking-flight-options-detail-toggle-border);
394
+ cursor: pointer;
395
+ transition: all 0.3s ease-in-out;
396
+
397
+ &__wrapper {
398
+ position: absolute;
399
+ top: 20px;
400
+ right: 20px;
401
+ display: flex;
402
+ align-items: center;
403
+ justify-content: flex-end;
404
+ gap: 5px;
405
+ padding: 0%;
406
+
407
+ @include media-md {
408
+ position: relative;
409
+ top: 0;
410
+ right: 0;
411
+ }
412
+ }
413
+
414
+ svg {
415
+ fill: var(--tide-booking-flight-options-detail-toggle-icon-color);
416
+ transition: all 0.3s ease-in-out;
417
+ }
418
+
419
+ &:hover,
420
+ &:focus {
421
+ color: var(
422
+ --tide-booking-flight-options-detail-toggle-icon-color-hover
423
+ );
424
+ background: var(
425
+ --tide-booking-flight-options-detail-toggle-background-hover
426
+ );
427
+ border: var(--tide-booking-flight-options-detail-toggle-border-hover);
428
+
429
+ svg {
430
+ fill: var(
431
+ --tide-booking-flight-options-detail-toggle-icon-color-hover
432
+ );
433
+ }
434
+ }
435
+
436
+ &--active {
437
+ .flight__detail__btn__arrow {
438
+ transform: rotate(90deg);
439
+ }
440
+ }
441
+ }
442
+
443
+ .flight__info {
444
+ &__times {
445
+ font-size: 14px;
446
+
447
+ p {
448
+ font-size: 12px;
449
+
450
+ @include media-md {
451
+ font-size: 14px;
452
+ }
453
+ }
454
+ }
455
+ }
456
+ }
457
+
458
+ &__rate {
459
+ display: flex;
460
+ flex-direction: column;
461
+ // border-top: 2px solid $gray-border-light;
462
+ overflow-y: hidden;
463
+ height: 100%;
464
+ max-height: 1.5px;
465
+ transition: all 0.3s ease-in-out;
466
+
467
+ &__container {
468
+ display: flex;
469
+ flex-direction: column;
470
+ gap: 20px;
471
+ padding: 20px;
472
+
473
+ @include media-md {
474
+ flex-direction: row;
475
+ align-items: flex-start;
476
+ justify-content: space-between;
477
+ gap: 20px;
478
+ }
479
+ }
480
+
481
+ &__title {
482
+ display: flex;
483
+ flex-direction: column;
484
+ h2 {
485
+ font-size: 20px;
486
+ font-family: var(--tide-booking-font-heading);
487
+ color: var(--tide-booking-gray-dark);
488
+ margin-bottom: 0rem;
489
+
490
+ @include media-md {
491
+ font-size: 30px;
492
+ }
493
+
494
+ strong {
495
+ font-weight: 600;
496
+ color: #000;
497
+ }
498
+ }
499
+ }
500
+
501
+ &__wrapper {
502
+ display: flex;
503
+ align-items: center;
504
+ gap: 20px;
505
+ overflow-x: auto;
506
+ @extend %scrollbar-none;
507
+ margin: -20px;
508
+ padding: 20px;
509
+
510
+ @include media-md {
511
+ overflow-x: visible;
512
+ }
513
+ }
514
+
515
+ &__card {
516
+ border: solid 1px var(--tide-booking-gray-medium);
517
+ border-top: 3px solid #334eac;
518
+ border-radius: 10px;
519
+ max-width: 180px;
520
+ min-width: 180px;
521
+ // opacity: 0.7;
522
+ cursor: pointer;
523
+ transform: scale(1);
524
+ transition: all 0.3s ease-in-out;
525
+
526
+ &__header {
527
+ display: flex;
528
+ justify-content: space-between;
529
+ align-items: center;
530
+ gap: 10px;
531
+ padding: 10px;
532
+ background: #ebedf7;
533
+ border-radius: 1rem 1rem 0 0;
534
+
535
+ &__title {
536
+ font-family: var(--tide-booking-font-heading);
537
+ font-size: 18px;
538
+ font-weight: 500;
539
+ color: #334eac;
540
+ margin: 0;
541
+ }
542
+ }
543
+
544
+ &__content {
545
+ display: flex;
546
+ flex-direction: column;
547
+ justify-content: flex-end;
548
+ padding: 10px;
549
+ overflow: hidden;
550
+ min-height: 70px;
551
+ max-height: 70px;
552
+ }
553
+
554
+ &__item {
555
+ display: flex;
556
+ align-items: center;
557
+ justify-content: space-between;
558
+ gap: 3px;
559
+ color: var(--tide-booking-gray-dark);
560
+ font-size: 20px;
561
+ font-weight: 500;
562
+
563
+ svg {
564
+ fill: #334eac;
565
+ transform: rotate(0deg);
566
+ transition: all 0.3s ease-in-out;
567
+ }
568
+ }
569
+
570
+ &__chairs {
571
+ font-size: 12px;
572
+ font-weight: lighter;
573
+ color: var(--tide-booking-price-increase);
574
+ }
575
+
576
+ &__lowest {
577
+ font-size: 14px;
578
+ font-weight: bold;
579
+ color: var(--tide-booking-price-decrease);
580
+ }
581
+
582
+ &--active {
583
+ border-width: 2px;
584
+ border-color: #334eac;
585
+ border-top: 3px solid #334eac;
586
+
587
+ .flight__rate__card__item svg {
588
+ transform: rotate(90deg);
589
+ }
590
+ }
591
+
592
+ &:hover {
593
+ transform: scale(1.05);
594
+ }
595
+
596
+ &--premium {
597
+ border-top: 3px solid #85204b;
598
+
599
+ .flight__rate__card__header {
600
+ background: #f1e6eb;
601
+ }
602
+
603
+ .flight__rate__card__header__title {
604
+ color: #85204b;
605
+ }
606
+
607
+ .flight__rate__card__item svg {
608
+ fill: #85204b;
609
+ }
610
+
611
+ &--active {
612
+ border-width: 2px;
613
+ border-color: #85204b;
614
+ border-top: 3px solid #85204b;
615
+
616
+ .flight__rate__card__item svg {
617
+ transform: rotate(90deg);
618
+ }
619
+ }
620
+ }
621
+
622
+ &--business {
623
+ border-top: 3px solid #8e8347;
624
+
625
+ .flight__rate__card__header {
626
+ background: #f5f4ed;
627
+ }
628
+
629
+ .flight__rate__card__header__title {
630
+ color: #8e8347;
631
+ }
632
+
633
+ .flight__rate__card__item svg {
634
+ fill: #8e8347;
635
+ }
636
+
637
+ &--active {
638
+ border-width: 2px;
639
+ border-color: #8e8347;
640
+ border-top: 3px solid #8e8347;
641
+
642
+ .flight__rate__card__item svg {
643
+ transform: rotate(90deg);
644
+ }
645
+ }
646
+ }
647
+ }
648
+
649
+ p {
650
+ font-size: 12px;
651
+ margin: 0;
652
+
653
+ strong {
654
+ font-weight: 700;
655
+ }
656
+ }
657
+
658
+ &__change {
659
+ font-size: 12px;
660
+ }
661
+
662
+ &__modal {
663
+ background: #f9f9f9;
664
+ border-radius: 10px;
665
+ width: 100%;
666
+ max-width: 1440px;
667
+ max-height: 920px;
668
+ height: calc(100vh - 40px);
669
+ z-index: 101;
670
+ position: relative;
671
+ display: grid;
672
+ grid-template-rows: auto 60px 1fr auto;
673
+
674
+ @include media-sm {
675
+ margin: 45px 20px;
676
+ height: calc(100vh - 90px);
677
+ }
678
+
679
+ @include media-lg {
680
+ margin: 45px;
681
+ }
682
+
683
+ &__container {
684
+ position: fixed;
685
+ height: 100vh;
686
+ width: 100vw;
687
+ display: none;
688
+ justify-content: center;
689
+ align-items: center;
690
+ z-index: 100;
691
+ top: 0;
692
+ left: 0;
693
+
694
+ &::after {
695
+ content: "";
696
+ position: absolute;
697
+ height: 100%;
698
+ width: 100%;
699
+ background: #0a0a0abb;
700
+ z-index: 100;
701
+ }
702
+
703
+ &--active {
704
+ display: flex;
705
+ }
706
+ }
707
+
708
+ &__header {
709
+ display: flex;
710
+ justify-content: space-between;
711
+ align-items: center;
712
+ gap: 10px;
713
+ padding: 20px;
714
+ background-color: #fff;
715
+ border-radius: 10px 10px 0px 0px;
716
+ box-shadow: 0px 3px 10px 0px #00000021;
717
+ position: relative;
718
+ z-index: 1;
719
+
720
+ &__title {
721
+ font-family: var(--tide-booking-font-heading);
722
+ font-size: 16px;
723
+ font-weight: 500;
724
+ margin: 0;
725
+ }
726
+
727
+ &__close {
728
+ font-size: 16px;
729
+ background-color: transparent;
730
+ border: none;
731
+ height: auto;
732
+ cursor: pointer;
733
+ }
734
+ }
735
+
736
+ &__content {
737
+ padding: 2rem;
738
+ overflow: auto;
739
+ @extend %scrollbar-thin;
740
+ display: grid;
741
+ grid-auto-columns: 310px;
742
+ grid-auto-flow: column;
743
+ gap: 20px;
744
+ }
745
+
746
+ &__tabs {
747
+ display: flex;
748
+ gap: 1rem;
749
+ padding: 0 20px;
750
+ margin-bottom: 10px;
751
+ background-color: #fff;
752
+ height: 60px;
753
+ }
754
+
755
+ &__tab {
756
+ font-size: 12px;
757
+ color: #cbcbcb;
758
+ background: transparent;
759
+ border: none;
760
+ border-bottom: solid 2px #fff;
761
+ cursor: pointer;
762
+ transition: border 0.3s ease-in-out;
763
+ height: 100%;
764
+
765
+ @include media-md {
766
+ font-size: 16px;
767
+ }
768
+
769
+ &:hover,
770
+ &:focus {
771
+ color: rgba(255, 255, 255, 0.325);
772
+ }
773
+
774
+ &--active {
775
+ color: var(--tide-booking-color-primary);
776
+ border-bottom: solid 2px var(--tide-booking-color-primary);
777
+ }
778
+ }
779
+
780
+ &__card {
781
+ background: #fff;
782
+ border-radius: 10px;
783
+ display: flex;
784
+ flex-direction: column;
785
+ justify-content: space-between;
786
+ gap: 1rem;
787
+ height: auto;
788
+ border: solid 1px var(--tide-booking-gray-medium);
789
+ border-top: 3px solid #334eac;
790
+ // min-height: calc(100% - 40px);
791
+
792
+ &__header {
793
+ padding: 0 20px;
794
+ padding-top: 20px;
795
+ background: #ebedf7;
796
+ border-radius: 10px 10px 0 0;
797
+
798
+ &__title {
799
+ font-family: "proxima-nova", sans-serif;
800
+ font-size: 20px;
801
+ margin: 0;
802
+ color: #334eac;
803
+ }
804
+
805
+ &__class {
806
+ font-size: 12px;
807
+ font-weight: 300;
808
+ margin: 0;
809
+ }
810
+ }
811
+
812
+ &__items {
813
+ display: flex;
814
+ flex-direction: column;
815
+ gap: 10px;
816
+ padding: 20px;
817
+
818
+ &--top {
819
+ background: #ebedf7;
820
+ }
821
+ }
822
+
823
+ &__item {
824
+ display: grid;
825
+ grid-template-columns: 20px 1fr;
826
+ align-items: center;
827
+ gap: 10px;
828
+
829
+ svg {
830
+ fill: var(--tide-booking-gray-dark);
831
+ }
832
+
833
+ &__wrapper {
834
+ font-size: 12px;
835
+
836
+ p {
837
+ margin: 0;
838
+ }
839
+
840
+ strong {
841
+ font-weight: 700;
842
+ }
843
+ }
844
+
845
+ &--border {
846
+ width: 100%;
847
+ height: 1px;
848
+ background: var(--tide-booking-gray-border-light);
849
+ }
850
+
851
+ &--disabled {
852
+ opacity: 0.25;
853
+ }
854
+ }
855
+
856
+ &__footer {
857
+ display: flex;
858
+ flex-direction: row-reverse;
859
+ justify-content: space-between;
860
+ align-items: center;
861
+ gap: 10px;
862
+ padding: 0 20px;
863
+ padding-bottom: 20px;
864
+
865
+ button {
866
+ width: 100%;
867
+ text-align: center;
868
+ justify-content: center;
869
+ @include media-md {
870
+ max-width: 162px;
871
+ }
872
+ }
873
+
874
+ .price {
875
+ white-space: nowrap;
876
+
877
+ &--decrease {
878
+ color: var(--tide-booking-price-decrease);
879
+ }
880
+
881
+ &--increase {
882
+ color: var(--tide-booking-price-increase);
883
+ }
884
+ }
885
+ }
886
+
887
+ &--premium {
888
+ border-top: 3px solid #85204b;
889
+
890
+ .flight__rate__modal__card__header,
891
+ .flight__rate__modal__card__items--top {
892
+ background: #f1e6eb;
893
+ }
894
+
895
+ .flight__rate__modal__card__header__title {
896
+ color: #85204b;
897
+ }
898
+ }
899
+
900
+ &--business {
901
+ border-top: 3px solid #8e8347;
902
+
903
+ .flight__rate__modal__card__header,
904
+ .flight__rate__modal__card__items--top {
905
+ background: #f5f4ed;
906
+ }
907
+
908
+ .flight__rate__modal__card__header__title {
909
+ color: #8e8347;
910
+ }
911
+ }
912
+ }
913
+
914
+ &__footer {
915
+ display: flex;
916
+ justify-content: flex-end;
917
+ gap: 10px;
918
+ padding: 20px;
919
+ background-color: #fff;
920
+ border-radius: 0px 0px 10px 10px;
921
+ box-shadow: 0px -3px 10px 0px #00000021;
922
+
923
+ button {
924
+ width: 100%;
925
+ text-align: center;
926
+ justify-content: center;
927
+ @include media-md {
928
+ max-width: 162px;
929
+ }
930
+ }
931
+ }
932
+ }
933
+
934
+ &__detail {
935
+ overflow: auto;
936
+ @extend %scrollbar-thin;
937
+ display: none;
938
+ grid-auto-columns: 310px;
939
+ grid-auto-flow: column;
940
+ gap: 20px;
941
+ padding: 0rem 20px;
942
+ max-height: 0px;
943
+ opacity: 0;
944
+ transition: max-height 0.5s ease-in-out, opacity 0.3s ease-in-out,
945
+ padding-bottom 0.3s ease-in-out;
946
+
947
+ @include media-md {
948
+ display: grid;
949
+ }
950
+
951
+ &--active {
952
+ display: none;
953
+ max-height: 1000px;
954
+ opacity: 1;
955
+ padding-bottom: 20px;
956
+
957
+ @include media-md {
958
+ display: grid;
959
+ }
960
+ }
961
+ }
962
+
963
+ &--active {
964
+ height: 100%;
965
+ max-height: 1000px;
966
+ }
967
+ }
968
+
969
+ &__status {
970
+ display: flex;
971
+ justify-content: center;
972
+ align-items: center;
973
+ gap: 10px;
974
+ color: #fff;
975
+ background: var(--tide-booking-color-primary);
976
+ border-radius: 50%;
977
+ padding: 10px;
978
+ font-size: 12px;
979
+ font-weight: 300;
980
+ width: 30px;
981
+ height: 30px;
982
+
983
+ &--pub {
984
+ background: var(--tide-booking-price-decrease);
985
+ }
986
+ }
987
+
988
+ &__airport {
989
+ display: none;
990
+ align-items: center;
991
+ gap: 5px;
992
+
993
+ @include media-sm {
994
+ display: flex;
995
+ }
996
+ }
997
+
998
+ &__times {
999
+ display: flex;
1000
+ flex-direction: column;
1001
+ align-items: flex-end;
1002
+
1003
+ &__date {
1004
+ font-size: 14px;
1005
+
1006
+ @include media-lg {
1007
+ font-size: 16px;
1008
+ }
1009
+ }
1010
+ }
1011
+
1012
+ &__filter {
1013
+ position: fixed;
1014
+ left: 0%;
1015
+ top: 0;
1016
+ z-index: 100;
1017
+ display: flex;
1018
+ flex-direction: column;
1019
+ gap: 20px;
1020
+ background: #fff;
1021
+ height: 100%;
1022
+ max-height: 97.3vh;
1023
+ width: calc(100vw - 40px);
1024
+ padding: 20px;
1025
+ box-shadow: 0px 0px 5px rgba(158, 158, 158, 0.447);
1026
+ transform: translateX(-100%);
1027
+ transition: all 0.3s ease-in-out;
1028
+ overflow-y: auto;
1029
+ @extend %scrollbar-thin;
1030
+ scrollbar-gutter: stable;
1031
+
1032
+ @include media-xs {
1033
+ width: 100%;
1034
+ max-width: 360px;
1035
+ }
1036
+
1037
+ &--active {
1038
+ transform: translateX(0%);
1039
+ }
1040
+
1041
+ &__header {
1042
+ position: relative;
1043
+ display: flex;
1044
+ justify-content: space-between;
1045
+ align-items: flex-start;
1046
+ gap: 10px;
1047
+
1048
+ &__title {
1049
+ h3 {
1050
+ margin-bottom: 0rem;
1051
+ }
1052
+
1053
+ p {
1054
+ font-weight: var(
1055
+ --tide-booking-flight-options-filter-header-text-font-weight
1056
+ );
1057
+ color: var(--tide-booking-flight-options-filter-header-text-color);
1058
+ font-size: 16px;
1059
+ }
1060
+
1061
+ strong {
1062
+ font-weight: var(
1063
+ --tide-booking-flight-options-filter-header-text-strong-font-weight
1064
+ );
1065
+ color: var(
1066
+ --tide-booking-flight-options-filter-header-text-strong-color
1067
+ );
1068
+ }
1069
+ }
1070
+ }
1071
+
1072
+ &__body {
1073
+ display: flex;
1074
+ flex-direction: column;
1075
+ gap: 30px;
1076
+ }
1077
+
1078
+ &__group {
1079
+ display: flex;
1080
+ flex-direction: column;
1081
+ gap: 20px;
1082
+
1083
+ &__title {
1084
+ font-family: var(
1085
+ --tide-booking-flight-options-filter-group-title-text-font-family
1086
+ );
1087
+ font-size: 18px;
1088
+ font-weight: var(
1089
+ --tide-booking-flight-options-filter-group-title-text-font-weight
1090
+ );
1091
+ color: var(--tide-booking-flight-options-filter-group-title-text-color);
1092
+ display: flex;
1093
+ justify-content: space-between;
1094
+ align-items: center;
1095
+ padding-bottom: 5px;
1096
+ border-bottom: var(
1097
+ --tide-booking-flight-options-filter-group-title-text-border
1098
+ );
1099
+
1100
+ svg {
1101
+ fill: var(--tide-booking-color-primary);
1102
+ }
1103
+ }
1104
+
1105
+ &__wrapper {
1106
+ display: flex;
1107
+ flex-direction: column;
1108
+ gap: 10px;
1109
+
1110
+ p {
1111
+ margin: 0px;
1112
+ font-size: 16px;
1113
+ padding: 0rem 10px;
1114
+ font-family: var(
1115
+ --tide-booking-flight-options-filter-group-title-subtext-font-family
1116
+ );
1117
+ font-weight: var(
1118
+ --tide-booking-flight-options-filter-group-title-subtext-font-weight
1119
+ );
1120
+ color: var(
1121
+ --tide-booking-flight-options-filter-group-title-subtext-color
1122
+ );
1123
+ }
1124
+ }
1125
+
1126
+ .tree {
1127
+ padding: 7.5px 10px;
1128
+ font-size: 16px;
1129
+
1130
+ .checkbox,
1131
+ .radiobutton {
1132
+ padding: 0rem 15px 0 28px;
1133
+ }
1134
+
1135
+ .checkbox__input--parent,
1136
+ .radiobutton__input--parent {
1137
+ top: -1px;
1138
+ }
1139
+
1140
+ .checkbox__label {
1141
+ padding: 0px;
1142
+ }
1143
+
1144
+ .radiobutton__label-text {
1145
+ display: flex;
1146
+ flex-direction: row;
1147
+ align-items: center;
1148
+ gap: 5px;
1149
+ color: var(--tide-booking-checkbox-color-text);
1150
+ margin: 0px;
1151
+ padding: 0px;
1152
+
1153
+ .amount {
1154
+ color: var(--tide-booking-color-primary);
1155
+ }
1156
+ }
1157
+ }
1158
+ }
1159
+
1160
+ &__slider {
1161
+ display: flex;
1162
+ flex-direction: column;
1163
+ gap: 10px;
1164
+ padding: 7.5px 10px;
1165
+
1166
+ &__value {
1167
+ font-size: 12px;
1168
+ display: flex;
1169
+ justify-content: space-between;
1170
+ width: 100%;
1171
+ }
1172
+
1173
+ // .slider--progress {
1174
+ // -webkit-appearance: none;
1175
+ // width: 90%;
1176
+ // height: 4px;
1177
+ // border-radius: 5px;
1178
+ // background: linear-gradient(to right, $color-primary 0%, $color-primary calc((var(--value) - 2) / 5 * 100%), $gray-light calc((var(--value) - 2) / 5 * 100%), $gray-light 100%);
1179
+ // outline: none;
1180
+ // opacity: 0.7;
1181
+ // transition: opacity .15s ease-in-out;
1182
+
1183
+ // &::-webkit-slider-runnable-track {
1184
+ // width: 90%;
1185
+ // height: 4px;
1186
+ // cursor: pointer;
1187
+ // animate: 0.2s;
1188
+ // background: linear-gradient(to right, $color-primary 0%, $color-primary calc((var(--value) - 2) / 5 * 100%), $gray-light calc((var(--value) - 2) / 5 * 100%), $gray-light 100%);
1189
+ // border-radius: 5px;
1190
+ // }
1191
+
1192
+ // &::-moz-range-track {
1193
+ // width: 90%;
1194
+ // height: 4px;
1195
+ // cursor: pointer;
1196
+ // animate: 0.2s;
1197
+ // background: linear-gradient(to right, $color-primary 0%, $color-primary calc((var(--value) - 2) / 5 * 100%), $gray-light calc((var(--value) - 2) / 5 * 100%), $gray-light 100%);
1198
+ // border-radius: 5px;
1199
+ // }
1200
+
1201
+ // &::-webkit-slider-thumb {
1202
+ // -webkit-appearance: none;
1203
+ // appearance: none;
1204
+ // width: 16px;
1205
+ // height: 16px;
1206
+ // border-radius: 50%;
1207
+ // background: $color-primary;
1208
+ // cursor: pointer;
1209
+ // margin-top: -5px;
1210
+ // }
1211
+
1212
+ // &::-moz-range-thumb {
1213
+ // width: 16px;
1214
+ // height: 16px;
1215
+ // border-radius: 50%;
1216
+ // background: $color-primary;
1217
+ // cursor: pointer;
1218
+ // margin-top: -5px;
1219
+ // }
1220
+ // }
1221
+ }
1222
+
1223
+ .double-slider-box {
1224
+ background-color: transparent;
1225
+ border-radius: 10px;
1226
+ width: 100%;
1227
+ max-width: 97%;
1228
+ margin-left: 10px;
1229
+
1230
+ @include media-xs {
1231
+ max-width: 342px;
1232
+ }
1233
+ }
1234
+
1235
+ .range-slider {
1236
+ position: relative;
1237
+ width: 100%;
1238
+ height: 5px;
1239
+ margin: 30px 0;
1240
+ background-color: var(--tide-booking-slider-range-background);
1241
+ border-radius: 5px;
1242
+
1243
+ input {
1244
+ padding: 0rem;
1245
+ }
1246
+ }
1247
+
1248
+ .slider-track {
1249
+ height: 100%;
1250
+ position: absolute;
1251
+ background-color: var(--tide-booking-slider-track-background);
1252
+ left: 0;
1253
+ right: 100%;
1254
+ border-radius: 5px;
1255
+ }
1256
+
1257
+ .range-slider input[type="range"] {
1258
+ position: absolute;
1259
+ width: 101%;
1260
+ left: -3px;
1261
+ top: 0;
1262
+ transform: translateY(-50%);
1263
+ background: none;
1264
+ pointer-events: none;
1265
+ border: none;
1266
+ appearance: none;
1267
+ height: 5px;
1268
+ }
1269
+
1270
+ input[type="range"]::-webkit-slider-thumb {
1271
+ height: 25px;
1272
+ width: 25px;
1273
+ border-radius: 50%;
1274
+ border: 3px solid var(--tide-booking-slider-thumb-border-color);
1275
+ background: var(--tide-booking-slider-thumb-background);
1276
+ pointer-events: auto;
1277
+ appearance: none;
1278
+ cursor: pointer;
1279
+ box-shadow: 0 1.25px 5.625px -1.25px rgba(0, 0, 0, 0.25);
1280
+ position: relative;
1281
+ z-index: 2; /* Ensure thumbs appear above the track */
1282
+ }
1283
+
1284
+ input[type="range"]::-moz-range-thumb {
1285
+ height: 25px;
1286
+ width: 25px;
1287
+ border-radius: 50%;
1288
+ border: 3px solid var(--tide-booking-slider-thumb-border-color);
1289
+ background: var(--tide-booking-slider-thumb-background);
1290
+ pointer-events: auto;
1291
+ cursor: pointer;
1292
+ box-shadow: 0 1.25px 5.625px -1.25px rgba(0, 0, 0, 0.25);
1293
+ position: relative;
1294
+ z-index: 2;
1295
+ }
1296
+
1297
+ .input-box {
1298
+ display: flex;
1299
+ justify-content: space-between;
1300
+ width: 100%;
1301
+ }
1302
+
1303
+ .min-box,
1304
+ .max-box {
1305
+ width: 50%;
1306
+ font-size: 16px;
1307
+ }
1308
+
1309
+ .min-box {
1310
+ margin-right: 10px;
1311
+ }
1312
+
1313
+ .max-box {
1314
+ text-align: right;
1315
+ }
1316
+
1317
+ input[type="number"] {
1318
+ width: 40px;
1319
+ padding: 10px;
1320
+ border: 1px solid #ccc;
1321
+ border-radius: 5px;
1322
+ text-align: center;
1323
+ }
1324
+
1325
+ .min-tooltip,
1326
+ .max-tooltip {
1327
+ position: absolute;
1328
+ top: -35px;
1329
+ font-size: 12px;
1330
+ color: #555;
1331
+ background-color: #fff;
1332
+ padding: 5px;
1333
+ border: 1px solid #ddd;
1334
+ border-radius: 5px;
1335
+ white-space: nowrap;
1336
+ z-index: 1;
1337
+ }
1338
+
1339
+ .min-tooltip {
1340
+ left: 20px;
1341
+ transform: translateX(-50%);
1342
+ }
1343
+
1344
+ .max-tooltip {
1345
+ right: 20px;
1346
+ transform: translateX(50%);
1347
+ }
1348
+ }
1349
+ }
1350
+
1351
+ // .flight-option {
1352
+ // @extend %reset;
1353
+ // width: 100%;
1354
+ // padding: $gutter;
1355
+
1356
+ // &:not(:first-child) {
1357
+ // margin-top: $gutter;
1358
+ // border-top: 1px solid $gray-medium;
1359
+ // }
1360
+
1361
+ // &__header {
1362
+ // display: flex;
1363
+ // align-items: flex-start;
1364
+
1365
+ // @include media-md {
1366
+ // margin-bottom: 0;
1367
+ // justify-content: space-between;
1368
+ // }
1369
+ // }
1370
+
1371
+ // &__header-copy {
1372
+ // padding-top: 0.75rem;
1373
+ // font-size: 1.4rem;
1374
+
1375
+ // @include media-md {
1376
+ // font-size: 1.6rem;
1377
+ // }
1378
+ // }
1379
+
1380
+ // &__header-actions {
1381
+ // margin-left: auto;
1382
+ // display: flex;
1383
+ // align-items: center;
1384
+
1385
+ // .cta {
1386
+ // display: none;
1387
+
1388
+ // @include media-md {
1389
+ // display: flex;
1390
+ // }
1391
+ // }
1392
+ // }
1393
+
1394
+ // &__select {
1395
+ // position: relative;
1396
+
1397
+ // @include media-md {
1398
+ // display: none;
1399
+ // }
1400
+ // }
1401
+
1402
+ // &__select-label {
1403
+ // padding: 0.3rem $gutter * 0.5;
1404
+ // margin-top: -1.5rem;
1405
+ // margin-bottom: 1rem;
1406
+ // display: inline-flex;
1407
+ // align-items: center;
1408
+ // font-size: 1.3rem;
1409
+ // text-transform: uppercase;
1410
+ // border-radius: 0 0 0.5rem 0.5rem;
1411
+ // color: $white;
1412
+ // background-color: $color-primary;
1413
+
1414
+ // @include media-md {
1415
+ // display: none;
1416
+ // }
1417
+
1418
+ // &:before {
1419
+ // content: "";
1420
+ // width: 10px;
1421
+ // height: 0.5rem;
1422
+ // margin: -0.5rem 0.5rem 0 0;
1423
+ // display: inline-block;
1424
+ // border-left: 2px solid $white;
1425
+ // border-bottom: 2px solid $white;
1426
+ // transform: rotate(-45deg);
1427
+ // }
1428
+ // }
1429
+ // }