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