@qite/tide-booking-component 1.4.93 → 1.4.95

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