@qite/tide-booking-component 1.4.93 → 1.4.94

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 (591) hide show
  1. package/.prettierrc +9 -9
  2. package/.vs/ProjectSettings.json +3 -3
  3. package/.vs/VSWorkspaceState.json +5 -5
  4. package/README.md +24 -24
  5. package/build/build-cjs/index.js +48786 -29655
  6. package/build/build-cjs/src/booking-product/components/age-select.d.ts +3 -3
  7. package/build/build-cjs/src/booking-product/components/amount-input.d.ts +5 -5
  8. package/build/build-cjs/src/booking-product/components/date-range-picker/calendar-day.d.ts +8 -8
  9. package/build/build-cjs/src/booking-product/components/date-range-picker/calendar.d.ts +14 -14
  10. package/build/build-cjs/src/booking-product/components/date-range-picker/index.d.ts +16 -19
  11. package/build/build-cjs/src/booking-product/components/dates.d.ts +8 -8
  12. package/build/build-cjs/src/booking-product/components/footer.d.ts +5 -5
  13. package/build/build-cjs/src/booking-product/components/header.d.ts +6 -6
  14. package/build/build-cjs/src/booking-product/components/icon.d.ts +5 -5
  15. package/build/build-cjs/src/booking-product/components/list-view.d.ts +2 -2
  16. package/build/build-cjs/src/booking-product/components/product.d.ts +4 -4
  17. package/build/build-cjs/src/booking-product/components/rating.d.ts +1 -1
  18. package/build/build-cjs/src/booking-product/components/rooms.d.ts +4 -4
  19. package/build/build-cjs/src/booking-product/constants.d.ts +1 -1
  20. package/build/build-cjs/src/booking-product/index.d.ts +4 -4
  21. package/build/build-cjs/src/booking-product/settings-context.d.ts +1 -2
  22. package/build/build-cjs/src/booking-product/types.d.ts +21 -21
  23. package/build/build-cjs/src/booking-product/utils/api.d.ts +11 -2
  24. package/build/build-cjs/src/booking-product/utils/price.d.ts +10 -1
  25. package/build/build-cjs/src/booking-wizard/api-settings-slice.d.ts +3 -2
  26. package/build/build-cjs/src/booking-wizard/components/icon.d.ts +5 -5
  27. package/build/build-cjs/src/booking-wizard/components/labeled-input.d.ts +13 -13
  28. package/build/build-cjs/src/booking-wizard/components/labeled-select.d.ts +16 -16
  29. package/build/build-cjs/src/booking-wizard/components/message.d.ts +4 -4
  30. package/build/build-cjs/src/booking-wizard/components/multi-range-filter.d.ts +6 -6
  31. package/build/build-cjs/src/booking-wizard/components/phone-input.d.ts +11 -11
  32. package/build/build-cjs/src/booking-wizard/components/print-offer-button.d.ts +11 -11
  33. package/build/build-cjs/src/booking-wizard/components/product-card.d.ts +3 -3
  34. package/build/build-cjs/src/booking-wizard/components/step-indicator.d.ts +1 -1
  35. package/build/build-cjs/src/booking-wizard/components/step-route.d.ts +3 -3
  36. package/build/build-cjs/src/booking-wizard/features/booking/api.d.ts +26 -7
  37. package/build/build-cjs/src/booking-wizard/features/booking/booking-self-contained.d.ts +3 -3
  38. package/build/build-cjs/src/booking-wizard/features/booking/booking-slice.d.ts +102 -42
  39. package/build/build-cjs/src/booking-wizard/features/booking/booking.d.ts +3 -3
  40. package/build/build-cjs/src/booking-wizard/features/booking/constants.d.ts +8 -1
  41. package/build/build-cjs/src/booking-wizard/features/booking/selectors.d.ts +645 -479
  42. package/build/build-cjs/src/booking-wizard/features/confirmation/confirmation.d.ts +1 -2
  43. package/build/build-cjs/src/booking-wizard/features/error/error.d.ts +1 -2
  44. package/build/build-cjs/src/booking-wizard/features/flight-options/flight-filter.d.ts +3 -3
  45. package/build/build-cjs/src/booking-wizard/features/flight-options/flight-option-flight.d.ts +2 -2
  46. package/build/build-cjs/src/booking-wizard/features/flight-options/flight-option.d.ts +4 -4
  47. package/build/build-cjs/src/booking-wizard/features/flight-options/flight-utils.d.ts +9 -2
  48. package/build/build-cjs/src/booking-wizard/features/flight-options/index.d.ts +1 -2
  49. package/build/build-cjs/src/booking-wizard/features/price-details/price-details-api.d.ts +6 -1
  50. package/build/build-cjs/src/booking-wizard/features/price-details/price-details-slice.d.ts +15 -9
  51. package/build/build-cjs/src/booking-wizard/features/price-details/selectors.d.ts +303 -287
  52. package/build/build-cjs/src/booking-wizard/features/product-options/none-option.d.ts +3 -3
  53. package/build/build-cjs/src/booking-wizard/features/product-options/option-booking-airline-group.d.ts +2 -2
  54. package/build/build-cjs/src/booking-wizard/features/product-options/option-booking-group.d.ts +6 -6
  55. package/build/build-cjs/src/booking-wizard/features/product-options/option-item.d.ts +5 -5
  56. package/build/build-cjs/src/booking-wizard/features/product-options/option-pax-card.d.ts +4 -4
  57. package/build/build-cjs/src/booking-wizard/features/product-options/option-pax-group.d.ts +7 -7
  58. package/build/build-cjs/src/booking-wizard/features/product-options/option-room.d.ts +5 -5
  59. package/build/build-cjs/src/booking-wizard/features/product-options/option-unit-group.d.ts +7 -7
  60. package/build/build-cjs/src/booking-wizard/features/product-options/option-units-card.d.ts +3 -3
  61. package/build/build-cjs/src/booking-wizard/features/product-options/options-form.d.ts +1 -2
  62. package/build/build-cjs/src/booking-wizard/features/room-options/index.d.ts +1 -2
  63. package/build/build-cjs/src/booking-wizard/features/room-options/room-utils.d.ts +19 -6
  64. package/build/build-cjs/src/booking-wizard/features/room-options/room.d.ts +6 -6
  65. package/build/build-cjs/src/booking-wizard/features/room-options/traveler-rooms.d.ts +3 -3
  66. package/build/build-cjs/src/booking-wizard/features/sidebar/index.d.ts +2 -2
  67. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar-flight.d.ts +2 -2
  68. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar-util.d.ts +4 -2
  69. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar.d.ts +24 -23
  70. package/build/build-cjs/src/booking-wizard/features/summary/summary-booking-option-pax.d.ts +1 -1
  71. package/build/build-cjs/src/booking-wizard/features/summary/summary-booking-option-unit.d.ts +1 -1
  72. package/build/build-cjs/src/booking-wizard/features/summary/summary-flight.d.ts +2 -2
  73. package/build/build-cjs/src/booking-wizard/features/summary/summary-per-booking-option-group.d.ts +1 -1
  74. package/build/build-cjs/src/booking-wizard/features/summary/summary-per-pax-option-group.d.ts +1 -1
  75. package/build/build-cjs/src/booking-wizard/features/summary/summary-per-unit-option-group.d.ts +1 -1
  76. package/build/build-cjs/src/booking-wizard/features/summary/summary-slice.d.ts +3 -3
  77. package/build/build-cjs/src/booking-wizard/features/summary/summary.d.ts +1 -2
  78. package/build/build-cjs/src/booking-wizard/features/travelers-form/travelers-form-slice.d.ts +75 -75
  79. package/build/build-cjs/src/booking-wizard/features/travelers-form/travelers-form-util.d.ts +4 -4
  80. package/build/build-cjs/src/booking-wizard/features/travelers-form/travelers-form.d.ts +1 -2
  81. package/build/build-cjs/src/booking-wizard/features/travelers-form/type-ahead-input.d.ts +11 -11
  82. package/build/build-cjs/src/booking-wizard/features/travelers-form/validate-form.d.ts +8 -1
  83. package/build/build-cjs/src/booking-wizard/index.d.ts +6 -6
  84. package/build/build-cjs/src/booking-wizard/settings-context.d.ts +1 -2
  85. package/build/build-cjs/src/booking-wizard/store.d.ts +40 -22
  86. package/build/build-cjs/src/booking-wizard/types.d.ts +240 -239
  87. package/build/build-cjs/src/booking-wizard/use-offer-printer.d.ts +8 -8
  88. package/build/build-cjs/src/content/components/LanguageSwitcher.d.ts +5 -5
  89. package/build/build-cjs/src/content/components/accordion.d.ts +4 -4
  90. package/build/build-cjs/src/content/components/breadcrumb.d.ts +7 -7
  91. package/build/build-cjs/src/content/components/faq.d.ts +4 -4
  92. package/build/build-cjs/src/content/components/gallery.d.ts +6 -6
  93. package/build/build-cjs/src/content/components/icon.d.ts +5 -5
  94. package/build/build-cjs/src/content/components/image-with-text.d.ts +18 -18
  95. package/build/build-cjs/src/content/components/slider.d.ts +5 -5
  96. package/build/build-cjs/src/content/featured-trips/types.d.ts +8 -8
  97. package/build/build-cjs/src/content/features/content-page/content-page-self-contained.d.ts +1 -1
  98. package/build/build-cjs/src/content/footer/types.d.ts +17 -17
  99. package/build/build-cjs/src/content/header/types.d.ts +23 -20
  100. package/build/build-cjs/src/content/image-card-grid/types.d.ts +8 -8
  101. package/build/build-cjs/src/content/image-with-text-section/types.d.ts +15 -15
  102. package/build/build-cjs/src/content/login/login-services.d.ts +6 -1
  103. package/build/build-cjs/src/content/login/types.d.ts +19 -19
  104. package/build/build-cjs/src/content/navbar/placeholderData.d.ts +2 -2
  105. package/build/build-cjs/src/content/navbar/types.d.ts +22 -22
  106. package/build/build-cjs/src/index.d.ts +17 -1
  107. package/build/build-cjs/src/qsm/components/date-range-picker/calendar-day.d.ts +7 -7
  108. package/build/build-cjs/src/qsm/components/date-range-picker/calendar.d.ts +18 -18
  109. package/build/build-cjs/src/qsm/components/date-range-picker/index.d.ts +5 -5
  110. package/build/build-cjs/src/qsm/components/double-search-input-group/index.d.ts +2 -2
  111. package/build/build-cjs/src/qsm/components/icon.d.ts +5 -5
  112. package/build/build-cjs/src/qsm/components/item-picker/index.d.ts +7 -7
  113. package/build/build-cjs/src/qsm/components/search-input/index.d.ts +9 -9
  114. package/build/build-cjs/src/qsm/components/search-input-group/index.d.ts +7 -7
  115. package/build/build-cjs/src/qsm/index.d.ts +1 -1
  116. package/build/build-cjs/src/qsm/store/qsm-slice.d.ts +110 -58
  117. package/build/build-cjs/src/qsm/store/qsm-store.d.ts +20 -7
  118. package/build/build-cjs/src/qsm/types.d.ts +59 -59
  119. package/build/build-cjs/src/search-results/components/filters/filters.d.ts +5 -5
  120. package/build/build-cjs/src/search-results/components/filters/flight-filters.d.ts +3 -3
  121. package/build/build-cjs/src/search-results/components/flight/flight-banner.d.ts +2 -2
  122. package/build/build-cjs/src/search-results/components/flight/flight-card.d.ts +1 -1
  123. package/build/build-cjs/src/search-results/components/flight/flight-leg.d.ts +1 -1
  124. package/build/build-cjs/src/search-results/components/flight/flight-path.d.ts +1 -1
  125. package/build/build-cjs/src/search-results/components/flight/flight-results.d.ts +2 -2
  126. package/build/build-cjs/src/search-results/components/flight/flight-search-context/index.d.ts +29 -29
  127. package/build/build-cjs/src/search-results/components/flight/flight-selection/independent-flight-option.d.ts +5 -5
  128. package/build/build-cjs/src/search-results/components/flight/flight-selection/independent-flight-selection.d.ts +1 -1
  129. package/build/build-cjs/src/search-results/components/flight/flight-selection/index.d.ts +2 -2
  130. package/build/build-cjs/src/search-results/components/flight/flight-selection/paired-flight-option.d.ts +1 -1
  131. package/build/build-cjs/src/search-results/components/flight/flight-selection/paired-flight-selection.d.ts +1 -1
  132. package/build/build-cjs/src/search-results/components/group-tour/group-tour-card.d.ts +3 -3
  133. package/build/build-cjs/src/search-results/components/group-tour/group-tour-results.d.ts +1 -1
  134. package/build/build-cjs/src/search-results/components/hotel/hotel-accommodation-results.d.ts +1 -1
  135. package/build/build-cjs/src/search-results/components/hotel/hotel-card.d.ts +2 -2
  136. package/build/build-cjs/src/search-results/components/icon.d.ts +6 -6
  137. package/build/build-cjs/src/search-results/components/item-picker/index.d.ts +8 -8
  138. package/build/build-cjs/src/search-results/components/itinerary/index.d.ts +3 -3
  139. package/build/build-cjs/src/search-results/components/multi-range-filter.d.ts +6 -6
  140. package/build/build-cjs/src/search-results/components/round-trip/round-trip-results.d.ts +1 -2
  141. package/build/build-cjs/src/search-results/components/search-results-container/flight-search-results.d.ts +1 -1
  142. package/build/build-cjs/src/search-results/components/tab-views/index.d.ts +1 -2
  143. package/build/build-cjs/src/search-results/features/flights/flight-search-results-self-contained.d.ts +1 -2
  144. package/build/build-cjs/src/search-results/features/hotels/hotel-flight-search-results-self-contained.d.ts +1 -2
  145. package/build/build-cjs/src/search-results/features/hotels/hotel-search-results-self-contained.d.ts +1 -2
  146. package/build/build-cjs/src/search-results/features/roundtrips/roundtrip-search-results-self-contained.d.ts +1 -2
  147. package/build/build-cjs/src/search-results/index.d.ts +1 -1
  148. package/build/build-cjs/src/search-results/store/search-results-slice.d.ts +63 -26
  149. package/build/build-cjs/src/search-results/store/search-results-store.d.ts +20 -7
  150. package/build/build-cjs/src/search-results/types.d.ts +104 -104
  151. package/build/build-cjs/src/search-results/utils/flight-utils.d.ts +6 -1
  152. package/build/build-cjs/src/search-results/utils/search-results-utils.d.ts +10 -2
  153. package/build/build-cjs/src/shared/components/flyin/accommodation-flyin.d.ts +3 -3
  154. package/build/build-cjs/src/shared/components/flyin/flights-flyin.d.ts +2 -2
  155. package/build/build-cjs/src/shared/components/flyin/flyin.d.ts +7 -7
  156. package/build/build-cjs/src/shared/components/flyin/group-tour-flyin.d.ts +3 -3
  157. package/build/build-cjs/src/shared/components/icon.d.ts +5 -5
  158. package/build/build-cjs/src/shared/components/loader.d.ts +1 -1
  159. package/build/build-cjs/src/shared/types.d.ts +9 -9
  160. package/build/build-cjs/src/shared/utils/localization-util.d.ts +395 -395
  161. package/build/build-esm/index.js +48504 -29596
  162. package/build/build-esm/src/booking-product/components/age-select.d.ts +3 -3
  163. package/build/build-esm/src/booking-product/components/amount-input.d.ts +5 -5
  164. package/build/build-esm/src/booking-product/components/date-range-picker/calendar-day.d.ts +8 -8
  165. package/build/build-esm/src/booking-product/components/date-range-picker/calendar.d.ts +14 -14
  166. package/build/build-esm/src/booking-product/components/date-range-picker/index.d.ts +16 -19
  167. package/build/build-esm/src/booking-product/components/dates.d.ts +8 -8
  168. package/build/build-esm/src/booking-product/components/footer.d.ts +5 -5
  169. package/build/build-esm/src/booking-product/components/header.d.ts +6 -6
  170. package/build/build-esm/src/booking-product/components/icon.d.ts +5 -5
  171. package/build/build-esm/src/booking-product/components/list-view.d.ts +2 -2
  172. package/build/build-esm/src/booking-product/components/product.d.ts +4 -4
  173. package/build/build-esm/src/booking-product/components/rating.d.ts +1 -1
  174. package/build/build-esm/src/booking-product/components/rooms.d.ts +4 -4
  175. package/build/build-esm/src/booking-product/constants.d.ts +1 -1
  176. package/build/build-esm/src/booking-product/index.d.ts +4 -4
  177. package/build/build-esm/src/booking-product/settings-context.d.ts +1 -2
  178. package/build/build-esm/src/booking-product/types.d.ts +21 -21
  179. package/build/build-esm/src/booking-product/utils/api.d.ts +11 -2
  180. package/build/build-esm/src/booking-product/utils/price.d.ts +10 -1
  181. package/build/build-esm/src/booking-wizard/api-settings-slice.d.ts +3 -2
  182. package/build/build-esm/src/booking-wizard/components/icon.d.ts +5 -5
  183. package/build/build-esm/src/booking-wizard/components/labeled-input.d.ts +13 -13
  184. package/build/build-esm/src/booking-wizard/components/labeled-select.d.ts +16 -16
  185. package/build/build-esm/src/booking-wizard/components/message.d.ts +4 -4
  186. package/build/build-esm/src/booking-wizard/components/multi-range-filter.d.ts +6 -6
  187. package/build/build-esm/src/booking-wizard/components/phone-input.d.ts +11 -11
  188. package/build/build-esm/src/booking-wizard/components/print-offer-button.d.ts +11 -11
  189. package/build/build-esm/src/booking-wizard/components/product-card.d.ts +3 -3
  190. package/build/build-esm/src/booking-wizard/components/step-indicator.d.ts +1 -1
  191. package/build/build-esm/src/booking-wizard/components/step-route.d.ts +3 -3
  192. package/build/build-esm/src/booking-wizard/features/booking/api.d.ts +26 -7
  193. package/build/build-esm/src/booking-wizard/features/booking/booking-self-contained.d.ts +3 -3
  194. package/build/build-esm/src/booking-wizard/features/booking/booking-slice.d.ts +102 -42
  195. package/build/build-esm/src/booking-wizard/features/booking/booking.d.ts +3 -3
  196. package/build/build-esm/src/booking-wizard/features/booking/constants.d.ts +8 -1
  197. package/build/build-esm/src/booking-wizard/features/booking/selectors.d.ts +645 -479
  198. package/build/build-esm/src/booking-wizard/features/confirmation/confirmation.d.ts +1 -2
  199. package/build/build-esm/src/booking-wizard/features/error/error.d.ts +1 -2
  200. package/build/build-esm/src/booking-wizard/features/flight-options/flight-filter.d.ts +3 -3
  201. package/build/build-esm/src/booking-wizard/features/flight-options/flight-option-flight.d.ts +2 -2
  202. package/build/build-esm/src/booking-wizard/features/flight-options/flight-option.d.ts +4 -4
  203. package/build/build-esm/src/booking-wizard/features/flight-options/flight-utils.d.ts +9 -2
  204. package/build/build-esm/src/booking-wizard/features/flight-options/index.d.ts +1 -2
  205. package/build/build-esm/src/booking-wizard/features/price-details/price-details-api.d.ts +6 -1
  206. package/build/build-esm/src/booking-wizard/features/price-details/price-details-slice.d.ts +15 -9
  207. package/build/build-esm/src/booking-wizard/features/price-details/selectors.d.ts +303 -287
  208. package/build/build-esm/src/booking-wizard/features/product-options/none-option.d.ts +3 -3
  209. package/build/build-esm/src/booking-wizard/features/product-options/option-booking-airline-group.d.ts +2 -2
  210. package/build/build-esm/src/booking-wizard/features/product-options/option-booking-group.d.ts +6 -6
  211. package/build/build-esm/src/booking-wizard/features/product-options/option-item.d.ts +5 -5
  212. package/build/build-esm/src/booking-wizard/features/product-options/option-pax-card.d.ts +4 -4
  213. package/build/build-esm/src/booking-wizard/features/product-options/option-pax-group.d.ts +7 -7
  214. package/build/build-esm/src/booking-wizard/features/product-options/option-room.d.ts +5 -5
  215. package/build/build-esm/src/booking-wizard/features/product-options/option-unit-group.d.ts +7 -7
  216. package/build/build-esm/src/booking-wizard/features/product-options/option-units-card.d.ts +3 -3
  217. package/build/build-esm/src/booking-wizard/features/product-options/options-form.d.ts +1 -2
  218. package/build/build-esm/src/booking-wizard/features/room-options/index.d.ts +1 -2
  219. package/build/build-esm/src/booking-wizard/features/room-options/room-utils.d.ts +19 -6
  220. package/build/build-esm/src/booking-wizard/features/room-options/room.d.ts +6 -6
  221. package/build/build-esm/src/booking-wizard/features/room-options/traveler-rooms.d.ts +3 -3
  222. package/build/build-esm/src/booking-wizard/features/sidebar/index.d.ts +2 -2
  223. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar-flight.d.ts +2 -2
  224. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar-util.d.ts +4 -2
  225. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar.d.ts +24 -23
  226. package/build/build-esm/src/booking-wizard/features/summary/summary-booking-option-pax.d.ts +1 -1
  227. package/build/build-esm/src/booking-wizard/features/summary/summary-booking-option-unit.d.ts +1 -1
  228. package/build/build-esm/src/booking-wizard/features/summary/summary-flight.d.ts +2 -2
  229. package/build/build-esm/src/booking-wizard/features/summary/summary-per-booking-option-group.d.ts +1 -1
  230. package/build/build-esm/src/booking-wizard/features/summary/summary-per-pax-option-group.d.ts +1 -1
  231. package/build/build-esm/src/booking-wizard/features/summary/summary-per-unit-option-group.d.ts +1 -1
  232. package/build/build-esm/src/booking-wizard/features/summary/summary-slice.d.ts +3 -3
  233. package/build/build-esm/src/booking-wizard/features/summary/summary.d.ts +1 -2
  234. package/build/build-esm/src/booking-wizard/features/travelers-form/travelers-form-slice.d.ts +75 -75
  235. package/build/build-esm/src/booking-wizard/features/travelers-form/travelers-form-util.d.ts +4 -4
  236. package/build/build-esm/src/booking-wizard/features/travelers-form/travelers-form.d.ts +1 -2
  237. package/build/build-esm/src/booking-wizard/features/travelers-form/type-ahead-input.d.ts +11 -11
  238. package/build/build-esm/src/booking-wizard/features/travelers-form/validate-form.d.ts +8 -1
  239. package/build/build-esm/src/booking-wizard/index.d.ts +6 -6
  240. package/build/build-esm/src/booking-wizard/settings-context.d.ts +1 -2
  241. package/build/build-esm/src/booking-wizard/store.d.ts +40 -22
  242. package/build/build-esm/src/booking-wizard/types.d.ts +240 -239
  243. package/build/build-esm/src/booking-wizard/use-offer-printer.d.ts +8 -8
  244. package/build/build-esm/src/content/components/LanguageSwitcher.d.ts +5 -5
  245. package/build/build-esm/src/content/components/accordion.d.ts +4 -4
  246. package/build/build-esm/src/content/components/breadcrumb.d.ts +7 -7
  247. package/build/build-esm/src/content/components/faq.d.ts +4 -4
  248. package/build/build-esm/src/content/components/gallery.d.ts +6 -6
  249. package/build/build-esm/src/content/components/icon.d.ts +5 -5
  250. package/build/build-esm/src/content/components/image-with-text.d.ts +18 -18
  251. package/build/build-esm/src/content/components/slider.d.ts +5 -5
  252. package/build/build-esm/src/content/featured-trips/types.d.ts +8 -8
  253. package/build/build-esm/src/content/features/content-page/content-page-self-contained.d.ts +1 -1
  254. package/build/build-esm/src/content/footer/types.d.ts +17 -17
  255. package/build/build-esm/src/content/header/types.d.ts +23 -20
  256. package/build/build-esm/src/content/image-card-grid/types.d.ts +8 -8
  257. package/build/build-esm/src/content/image-with-text-section/types.d.ts +15 -15
  258. package/build/build-esm/src/content/login/login-services.d.ts +6 -1
  259. package/build/build-esm/src/content/login/types.d.ts +19 -19
  260. package/build/build-esm/src/content/navbar/placeholderData.d.ts +2 -2
  261. package/build/build-esm/src/content/navbar/types.d.ts +22 -22
  262. package/build/build-esm/src/index.d.ts +17 -1
  263. package/build/build-esm/src/qsm/components/date-range-picker/calendar-day.d.ts +7 -7
  264. package/build/build-esm/src/qsm/components/date-range-picker/calendar.d.ts +18 -18
  265. package/build/build-esm/src/qsm/components/date-range-picker/index.d.ts +5 -5
  266. package/build/build-esm/src/qsm/components/double-search-input-group/index.d.ts +2 -2
  267. package/build/build-esm/src/qsm/components/icon.d.ts +5 -5
  268. package/build/build-esm/src/qsm/components/item-picker/index.d.ts +7 -7
  269. package/build/build-esm/src/qsm/components/search-input/index.d.ts +9 -9
  270. package/build/build-esm/src/qsm/components/search-input-group/index.d.ts +7 -7
  271. package/build/build-esm/src/qsm/index.d.ts +1 -1
  272. package/build/build-esm/src/qsm/store/qsm-slice.d.ts +110 -58
  273. package/build/build-esm/src/qsm/store/qsm-store.d.ts +20 -7
  274. package/build/build-esm/src/qsm/types.d.ts +59 -59
  275. package/build/build-esm/src/search-results/components/filters/filters.d.ts +5 -5
  276. package/build/build-esm/src/search-results/components/filters/flight-filters.d.ts +3 -3
  277. package/build/build-esm/src/search-results/components/flight/flight-banner.d.ts +2 -2
  278. package/build/build-esm/src/search-results/components/flight/flight-card.d.ts +1 -1
  279. package/build/build-esm/src/search-results/components/flight/flight-leg.d.ts +1 -1
  280. package/build/build-esm/src/search-results/components/flight/flight-path.d.ts +1 -1
  281. package/build/build-esm/src/search-results/components/flight/flight-results.d.ts +2 -2
  282. package/build/build-esm/src/search-results/components/flight/flight-search-context/index.d.ts +29 -29
  283. package/build/build-esm/src/search-results/components/flight/flight-selection/independent-flight-option.d.ts +5 -5
  284. package/build/build-esm/src/search-results/components/flight/flight-selection/independent-flight-selection.d.ts +1 -1
  285. package/build/build-esm/src/search-results/components/flight/flight-selection/index.d.ts +2 -2
  286. package/build/build-esm/src/search-results/components/flight/flight-selection/paired-flight-option.d.ts +1 -1
  287. package/build/build-esm/src/search-results/components/flight/flight-selection/paired-flight-selection.d.ts +1 -1
  288. package/build/build-esm/src/search-results/components/group-tour/group-tour-card.d.ts +3 -3
  289. package/build/build-esm/src/search-results/components/group-tour/group-tour-results.d.ts +1 -1
  290. package/build/build-esm/src/search-results/components/hotel/hotel-accommodation-results.d.ts +1 -1
  291. package/build/build-esm/src/search-results/components/hotel/hotel-card.d.ts +2 -2
  292. package/build/build-esm/src/search-results/components/icon.d.ts +6 -6
  293. package/build/build-esm/src/search-results/components/item-picker/index.d.ts +8 -8
  294. package/build/build-esm/src/search-results/components/itinerary/index.d.ts +3 -3
  295. package/build/build-esm/src/search-results/components/multi-range-filter.d.ts +6 -6
  296. package/build/build-esm/src/search-results/components/round-trip/round-trip-results.d.ts +1 -2
  297. package/build/build-esm/src/search-results/components/search-results-container/flight-search-results.d.ts +1 -1
  298. package/build/build-esm/src/search-results/components/tab-views/index.d.ts +1 -2
  299. package/build/build-esm/src/search-results/features/flights/flight-search-results-self-contained.d.ts +1 -2
  300. package/build/build-esm/src/search-results/features/hotels/hotel-flight-search-results-self-contained.d.ts +1 -2
  301. package/build/build-esm/src/search-results/features/hotels/hotel-search-results-self-contained.d.ts +1 -2
  302. package/build/build-esm/src/search-results/features/roundtrips/roundtrip-search-results-self-contained.d.ts +1 -2
  303. package/build/build-esm/src/search-results/index.d.ts +1 -1
  304. package/build/build-esm/src/search-results/store/search-results-slice.d.ts +63 -26
  305. package/build/build-esm/src/search-results/store/search-results-store.d.ts +20 -7
  306. package/build/build-esm/src/search-results/types.d.ts +104 -104
  307. package/build/build-esm/src/search-results/utils/flight-utils.d.ts +6 -1
  308. package/build/build-esm/src/search-results/utils/search-results-utils.d.ts +10 -2
  309. package/build/build-esm/src/shared/components/flyin/accommodation-flyin.d.ts +3 -3
  310. package/build/build-esm/src/shared/components/flyin/flights-flyin.d.ts +2 -2
  311. package/build/build-esm/src/shared/components/flyin/flyin.d.ts +7 -7
  312. package/build/build-esm/src/shared/components/flyin/group-tour-flyin.d.ts +3 -3
  313. package/build/build-esm/src/shared/components/icon.d.ts +5 -5
  314. package/build/build-esm/src/shared/components/loader.d.ts +1 -1
  315. package/build/build-esm/src/shared/types.d.ts +9 -9
  316. package/build/build-esm/src/shared/utils/localization-util.d.ts +395 -395
  317. package/package.json +2 -2
  318. package/rollup.config.js +16 -16
  319. package/src/booking-product/components/age-select.tsx +35 -35
  320. package/src/booking-product/components/amount-input.tsx +51 -51
  321. package/src/booking-product/components/date-range-picker/calendar-day.tsx +46 -46
  322. package/src/booking-product/components/date-range-picker/calendar.tsx +155 -155
  323. package/src/booking-product/components/date-range-picker/index.tsx +185 -185
  324. package/src/booking-product/components/dates.tsx +153 -153
  325. package/src/booking-product/components/footer.tsx +54 -54
  326. package/src/booking-product/components/header.tsx +57 -57
  327. package/src/booking-product/components/icon.tsx +200 -200
  328. package/src/booking-product/components/list-view.tsx +54 -54
  329. package/src/booking-product/components/product.tsx +379 -379
  330. package/src/booking-product/components/rating.tsx +21 -21
  331. package/src/booking-product/components/rooms.tsx +171 -171
  332. package/src/booking-product/constants.ts +1 -1
  333. package/src/booking-product/index.tsx +21 -21
  334. package/src/booking-product/settings-context.ts +16 -16
  335. package/src/booking-product/types.ts +30 -30
  336. package/src/booking-product/utils/api.ts +26 -26
  337. package/src/booking-product/utils/price.ts +28 -28
  338. package/src/booking-wizard/api-settings-slice.ts +24 -24
  339. package/src/booking-wizard/components/icon.tsx +398 -398
  340. package/src/booking-wizard/components/labeled-input.tsx +56 -56
  341. package/src/booking-wizard/components/labeled-select.tsx +54 -54
  342. package/src/booking-wizard/components/message.tsx +21 -21
  343. package/src/booking-wizard/components/multi-range-filter.tsx +99 -99
  344. package/src/booking-wizard/components/phone-input.tsx +146 -146
  345. package/src/booking-wizard/components/print-offer-button.tsx +53 -53
  346. package/src/booking-wizard/components/product-card.tsx +23 -23
  347. package/src/booking-wizard/components/step-indicator.tsx +57 -57
  348. package/src/booking-wizard/components/step-route.tsx +26 -26
  349. package/src/booking-wizard/declarations.d.ts +4 -4
  350. package/src/booking-wizard/features/booking/api.ts +44 -44
  351. package/src/booking-wizard/features/booking/booking-self-contained.tsx +318 -303
  352. package/src/booking-wizard/features/booking/booking-slice.ts +633 -625
  353. package/src/booking-wizard/features/booking/booking.tsx +342 -327
  354. package/src/booking-wizard/features/booking/constants.ts +16 -16
  355. package/src/booking-wizard/features/booking/selectors.ts +411 -406
  356. package/src/booking-wizard/features/confirmation/confirmation.tsx +90 -90
  357. package/src/booking-wizard/features/error/error.tsx +71 -71
  358. package/src/booking-wizard/features/flight-options/flight-filter.tsx +371 -371
  359. package/src/booking-wizard/features/flight-options/flight-option-flight.tsx +354 -354
  360. package/src/booking-wizard/features/flight-options/flight-option-modal.tsx +211 -211
  361. package/src/booking-wizard/features/flight-options/flight-option.tsx +57 -57
  362. package/src/booking-wizard/features/flight-options/flight-utils.ts +423 -423
  363. package/src/booking-wizard/features/flight-options/index.tsx +166 -166
  364. package/src/booking-wizard/features/price-details/price-details-api.ts +20 -20
  365. package/src/booking-wizard/features/price-details/price-details-slice.ts +79 -77
  366. package/src/booking-wizard/features/price-details/selectors.ts +118 -117
  367. package/src/booking-wizard/features/price-details/util.ts +115 -115
  368. package/src/booking-wizard/features/product-options/no-options.tsx +18 -18
  369. package/src/booking-wizard/features/product-options/none-option.tsx +73 -73
  370. package/src/booking-wizard/features/product-options/option-booking-airline-group.tsx +53 -53
  371. package/src/booking-wizard/features/product-options/option-booking-group.tsx +152 -152
  372. package/src/booking-wizard/features/product-options/option-item.tsx +236 -236
  373. package/src/booking-wizard/features/product-options/option-pax-card.tsx +159 -159
  374. package/src/booking-wizard/features/product-options/option-pax-group.tsx +122 -122
  375. package/src/booking-wizard/features/product-options/option-room.tsx +226 -226
  376. package/src/booking-wizard/features/product-options/option-unit-group.tsx +138 -138
  377. package/src/booking-wizard/features/product-options/option-units-card.tsx +148 -148
  378. package/src/booking-wizard/features/product-options/options-form.tsx +382 -382
  379. package/src/booking-wizard/features/room-options/index.tsx +132 -132
  380. package/src/booking-wizard/features/room-options/room-utils.ts +154 -154
  381. package/src/booking-wizard/features/room-options/room.tsx +123 -123
  382. package/src/booking-wizard/features/room-options/traveler-rooms.tsx +64 -64
  383. package/src/booking-wizard/features/sidebar/index.tsx +83 -81
  384. package/src/booking-wizard/features/sidebar/sidebar-flight.tsx +66 -66
  385. package/src/booking-wizard/features/sidebar/sidebar-util.ts +147 -147
  386. package/src/booking-wizard/features/sidebar/sidebar.tsx +330 -316
  387. package/src/booking-wizard/features/summary/summary-booking-option-pax.tsx +23 -23
  388. package/src/booking-wizard/features/summary/summary-booking-option-unit.tsx +23 -23
  389. package/src/booking-wizard/features/summary/summary-flight.tsx +36 -36
  390. package/src/booking-wizard/features/summary/summary-per-booking-option-group.tsx +60 -60
  391. package/src/booking-wizard/features/summary/summary-per-pax-option-group.tsx +56 -56
  392. package/src/booking-wizard/features/summary/summary-per-unit-option-group.tsx +58 -58
  393. package/src/booking-wizard/features/summary/summary-slice.ts +27 -27
  394. package/src/booking-wizard/features/summary/summary.tsx +562 -562
  395. package/src/booking-wizard/features/travelers-form/controls/gender-control.tsx +60 -60
  396. package/src/booking-wizard/features/travelers-form/travelers-form-slice.ts +157 -157
  397. package/src/booking-wizard/features/travelers-form/travelers-form-util.ts +10 -10
  398. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +1101 -1101
  399. package/src/booking-wizard/features/travelers-form/type-ahead-input.tsx +85 -85
  400. package/src/booking-wizard/features/travelers-form/validate-form.ts +178 -178
  401. package/src/booking-wizard/index.tsx +27 -27
  402. package/src/booking-wizard/settings-context.ts +64 -64
  403. package/src/booking-wizard/store.ts +26 -26
  404. package/src/booking-wizard/types.ts +332 -331
  405. package/src/booking-wizard/use-offer-printer.ts +108 -108
  406. package/src/content/components/LanguageSwitcher.tsx +158 -158
  407. package/src/content/components/accordion.tsx +30 -30
  408. package/src/content/components/breadcrumb.tsx +67 -67
  409. package/src/content/components/contact.tsx +211 -211
  410. package/src/content/components/faq.tsx +42 -42
  411. package/src/content/components/gallery.tsx +153 -153
  412. package/src/content/components/icon.tsx +695 -695
  413. package/src/content/components/image-with-text.tsx +120 -120
  414. package/src/content/components/login.tsx +162 -162
  415. package/src/content/components/personal-contact-form.tsx +809 -809
  416. package/src/content/components/slider.tsx +237 -237
  417. package/src/content/featured-trips/featured-trip-card.tsx +48 -48
  418. package/src/content/featured-trips/index.tsx +19 -19
  419. package/src/content/featured-trips/types.ts +13 -13
  420. package/src/content/features/content-page/content-page-self-contained.tsx +895 -895
  421. package/src/content/footer/index.tsx +159 -159
  422. package/src/content/footer/types.ts +36 -36
  423. package/src/content/header/index.tsx +43 -43
  424. package/src/content/header/types.ts +26 -26
  425. package/src/content/image-card-grid/index.tsx +34 -34
  426. package/src/content/image-card-grid/types.ts +13 -13
  427. package/src/content/image-with-text-section/card.tsx +58 -58
  428. package/src/content/image-with-text-section/index.tsx +22 -22
  429. package/src/content/image-with-text-section/types.ts +20 -20
  430. package/src/content/login/confirm-component.tsx +149 -149
  431. package/src/content/login/index.tsx +70 -70
  432. package/src/content/login/login-component.tsx +159 -159
  433. package/src/content/login/login-services.ts +109 -109
  434. package/src/content/login/reset-password-component.tsx +191 -191
  435. package/src/content/login/types.ts +29 -29
  436. package/src/content/navbar/index.tsx +354 -354
  437. package/src/content/navbar/placeholderData.tsx +173 -173
  438. package/src/content/navbar/types.ts +43 -43
  439. package/src/index.ts +44 -44
  440. package/src/qsm/components/QSMContainer/qsm-container.tsx +512 -512
  441. package/src/qsm/components/date-picker/index.tsx +152 -152
  442. package/src/qsm/components/date-range-picker/calendar-day.tsx +49 -49
  443. package/src/qsm/components/date-range-picker/calendar.tsx +211 -211
  444. package/src/qsm/components/date-range-picker/index.tsx +404 -404
  445. package/src/qsm/components/double-search-input-group/index.tsx +78 -78
  446. package/src/qsm/components/icon.tsx +354 -354
  447. package/src/qsm/components/item-picker/index.tsx +69 -69
  448. package/src/qsm/components/mobile-filter-modal/index.tsx +307 -307
  449. package/src/qsm/components/search-input/index.tsx +91 -91
  450. package/src/qsm/components/search-input-group/index.tsx +199 -199
  451. package/src/qsm/components/travel-class-picker/index.tsx +28 -28
  452. package/src/qsm/components/travel-input/index.tsx +243 -243
  453. package/src/qsm/components/travel-input-group/index.tsx +114 -114
  454. package/src/qsm/components/travel-nationality-picker/index.tsx +28 -28
  455. package/src/qsm/components/travel-type-picker/index.tsx +28 -28
  456. package/src/qsm/index.tsx +26 -26
  457. package/src/qsm/qsm-configuration-context.ts +31 -31
  458. package/src/qsm/store/qsm-slice.ts +275 -275
  459. package/src/qsm/store/qsm-store.ts +13 -13
  460. package/src/qsm/types.ts +110 -110
  461. package/src/search-results/components/filters/filters.tsx +230 -230
  462. package/src/search-results/components/filters/flight-filters.tsx +671 -671
  463. package/src/search-results/components/flight/flight-banner.tsx +35 -35
  464. package/src/search-results/components/flight/flight-card.tsx +38 -38
  465. package/src/search-results/components/flight/flight-leg.tsx +61 -61
  466. package/src/search-results/components/flight/flight-path.tsx +23 -23
  467. package/src/search-results/components/flight/flight-results.tsx +208 -208
  468. package/src/search-results/components/flight/flight-search-context/index.tsx +628 -628
  469. package/src/search-results/components/flight/flight-selection/independent-flight-option.tsx +147 -147
  470. package/src/search-results/components/flight/flight-selection/independent-flight-selection.tsx +172 -172
  471. package/src/search-results/components/flight/flight-selection/index.tsx +19 -19
  472. package/src/search-results/components/flight/flight-selection/paired-flight-option.tsx +255 -255
  473. package/src/search-results/components/flight/flight-selection/paired-flight-selection.tsx +38 -38
  474. package/src/search-results/components/group-tour/group-tour-card.tsx +105 -105
  475. package/src/search-results/components/group-tour/group-tour-results.tsx +62 -62
  476. package/src/search-results/components/hotel/hotel-accommodation-results.tsx +176 -176
  477. package/src/search-results/components/hotel/hotel-card.tsx +113 -113
  478. package/src/search-results/components/icon.tsx +680 -680
  479. package/src/search-results/components/item-picker/index.tsx +81 -81
  480. package/src/search-results/components/itinerary/index.tsx +310 -310
  481. package/src/search-results/components/multi-range-filter.tsx +104 -104
  482. package/src/search-results/components/round-trip/round-trip-results.tsx +199 -199
  483. package/src/search-results/components/search-results-container/flight-search-results.tsx +137 -137
  484. package/src/search-results/components/search-results-container/search-results-container.tsx +893 -893
  485. package/src/search-results/components/spinner/spinner.tsx +16 -16
  486. package/src/search-results/components/tab-views/index.tsx +53 -53
  487. package/src/search-results/features/flights/flight-search-results-self-contained.tsx +294 -294
  488. package/src/search-results/features/hotels/hotel-flight-search-results-self-contained.tsx +143 -143
  489. package/src/search-results/features/hotels/hotel-search-results-self-contained.tsx +220 -220
  490. package/src/search-results/features/roundtrips/roundtrip-search-results-self-contained.tsx +65 -65
  491. package/src/search-results/index.tsx +24 -24
  492. package/src/search-results/search-results-configuration-context.ts +6 -6
  493. package/src/search-results/store/search-results-slice.ts +158 -158
  494. package/src/search-results/store/search-results-store.ts +13 -13
  495. package/src/search-results/types.ts +181 -181
  496. package/src/search-results/utils/flight-utils.ts +93 -93
  497. package/src/search-results/utils/search-results-utils.ts +251 -251
  498. package/src/shared/components/flyin/accommodation-flyin.tsx +422 -422
  499. package/src/shared/components/flyin/flights-flyin.tsx +503 -503
  500. package/src/shared/components/flyin/flyin.tsx +82 -82
  501. package/src/shared/components/flyin/group-tour-flyin.tsx +293 -293
  502. package/src/shared/components/icon.tsx +826 -826
  503. package/src/shared/components/loader.tsx +16 -16
  504. package/src/shared/translations/ar-SA.json +382 -381
  505. package/src/shared/translations/da-DK.json +382 -381
  506. package/src/shared/translations/de-DE.json +382 -381
  507. package/src/shared/translations/en-GB.json +386 -385
  508. package/src/shared/translations/es-ES.json +382 -381
  509. package/src/shared/translations/fr-BE.json +386 -385
  510. package/src/shared/translations/fr-FR.json +382 -381
  511. package/src/shared/translations/is-IS.json +382 -381
  512. package/src/shared/translations/it-IT.json +382 -381
  513. package/src/shared/translations/ja-JP.json +382 -381
  514. package/src/shared/translations/nl-BE.json +386 -385
  515. package/src/shared/translations/nl-NL.json +382 -381
  516. package/src/shared/translations/no-NO.json +382 -381
  517. package/src/shared/translations/pl-PL.json +382 -381
  518. package/src/shared/translations/pt-PT.json +382 -381
  519. package/src/shared/translations/sv-SE.json +382 -381
  520. package/src/shared/types.ts +31 -31
  521. package/src/shared/utils/class-util.ts +7 -7
  522. package/src/shared/utils/localization-util.ts +275 -275
  523. package/src/shared/utils/query-string-util.ts +91 -91
  524. package/src/shared/utils/tide-api-utils.ts +34 -34
  525. package/src/shared/utils/use-media-query-util.ts +19 -19
  526. package/styles/abstracts/_mixins.scss +74 -74
  527. package/styles/abstracts/_variables.scss +57 -57
  528. package/styles/base/_fonts.scss +2 -2
  529. package/styles/base/_normalize.scss +227 -227
  530. package/styles/base/_typography.scss +35 -35
  531. package/styles/booking-joker-variables.scss +596 -596
  532. package/styles/booking-product-variables.scss +330 -330
  533. package/styles/booking-product.scss +438 -438
  534. package/styles/booking-qsm-variables.scss +501 -501
  535. package/styles/booking-qsm.scss +52 -52
  536. package/styles/booking-search-results-variables.scss +728 -728
  537. package/styles/booking-search-results.scss +53 -53
  538. package/styles/booking-wizard-variables.scss +603 -603
  539. package/styles/booking-wizard.scss +61 -61
  540. package/styles/components/_accordion.scss +67 -67
  541. package/styles/components/_animations.scss +39 -39
  542. package/styles/components/_base.scss +107 -107
  543. package/styles/components/_booking.scss +872 -872
  544. package/styles/components/_breadcrumb.scss +92 -92
  545. package/styles/components/_button.scss +238 -238
  546. package/styles/components/_checkbox.scss +230 -230
  547. package/styles/components/_contact.scss +239 -239
  548. package/styles/components/_content.scss +336 -336
  549. package/styles/components/_cta.scss +238 -238
  550. package/styles/components/_date-list.scss +41 -41
  551. package/styles/components/_date-range-picker.scss +223 -223
  552. package/styles/components/_decrement-increment.scss +35 -35
  553. package/styles/components/_dropdown.scss +72 -72
  554. package/styles/components/_faq.scss +27 -27
  555. package/styles/components/_flight-option.scss +1419 -1419
  556. package/styles/components/_flyin.scss +727 -727
  557. package/styles/components/_footer.scss +141 -141
  558. package/styles/components/_form.scss +1634 -1634
  559. package/styles/components/_gallery.scss +314 -314
  560. package/styles/components/_header.scss +113 -113
  561. package/styles/components/_image-with-text.scss +206 -206
  562. package/styles/components/_img-slider.scss +175 -175
  563. package/styles/components/_info-message.scss +75 -75
  564. package/styles/components/_input.scss +35 -35
  565. package/styles/components/_list.scss +185 -185
  566. package/styles/components/_loader.scss +70 -70
  567. package/styles/components/_login.scss +140 -140
  568. package/styles/components/_mixins.scss +579 -579
  569. package/styles/components/_navbar.scss +765 -765
  570. package/styles/components/_passenger-picker.scss +306 -306
  571. package/styles/components/_phone-input.scss +8 -8
  572. package/styles/components/_placeholders.scss +165 -165
  573. package/styles/components/_pricing-summary.scss +163 -163
  574. package/styles/components/_qsm.scss +17 -17
  575. package/styles/components/_radiobutton.scss +170 -170
  576. package/styles/components/_search.scss +2009 -2009
  577. package/styles/components/_select-wrapper.scss +76 -76
  578. package/styles/components/_slider.scss +128 -128
  579. package/styles/components/_spinner.scss +29 -29
  580. package/styles/components/_step-indicators.scss +161 -161
  581. package/styles/components/_table.scss +81 -81
  582. package/styles/components/_tree.scss +648 -648
  583. package/styles/components/_typeahead.scss +275 -275
  584. package/styles/components/_variables.scss +89 -89
  585. package/styles/content-blocks-variables.scss +507 -507
  586. package/styles/content-blocks.scss +64 -64
  587. package/styles/font.scss +2 -2
  588. package/styles/qsm/_calendar.scss +274 -274
  589. package/styles/qsm/_qsm.scss +1094 -1094
  590. package/styles/search.scss +1200 -1200
  591. package/tsconfig.json +24 -24
@@ -1,2009 +1,2009 @@
1
- @use '../components/mixins' as mixins;
2
-
3
- * {
4
- box-sizing: border-box;
5
- }
6
-
7
- .search {
8
- background: var(--tide-booking-search-results-background);
9
-
10
- &__bg {
11
- background: var(--tide-booking-search-results-background);
12
- }
13
-
14
- &__container {
15
- position: relative;
16
- display: flex;
17
- @include mixins.container-wide();
18
- padding-top: 30px;
19
- padding-bottom: 60px;
20
-
21
- @include mixins.media-sm {
22
- padding-top: 30px;
23
- padding-bottom: 60px;
24
- }
25
-
26
- @include mixins.media-md {
27
- gap: 30px;
28
- padding-top: 30px;
29
- padding-bottom: 60px;
30
- }
31
-
32
- @include mixins.media-lg {
33
- gap: 60px;
34
- padding-top: 60px;
35
- }
36
- }
37
-
38
- &__filters {
39
- position: fixed;
40
- top: 0px;
41
- left: 0px;
42
- display: block;
43
- max-width: 360px;
44
- width: 100%;
45
- background-color: var(--tide-booking-search-filter-background);
46
- border-radius: var(--tide-booking-search-filter-border-radius);
47
- border: var(--tide-booking-search-filter-border);
48
- height: 100%;
49
- margin-bottom: 20px;
50
- margin-left: 0;
51
- grid-column: span 12;
52
- transform: translateX(-100vw);
53
- overflow: hidden;
54
- transition: transform 0.35s ease;
55
-
56
- @include mixins.media-md {
57
- grid-column: auto;
58
- }
59
-
60
- @include mixins.media-lg {
61
- position: relative;
62
- display: block;
63
- max-width: 360px;
64
- width: 360px;
65
- height: auto;
66
- margin: 0;
67
- border: none;
68
- box-shadow: none;
69
- transform: translateX(0);
70
- pointer-events: auto;
71
- padding-bottom: 20px;
72
- }
73
-
74
- // ::after {
75
- // content: '';
76
- // display: block;
77
- // position: fixed;
78
- // top: 0;
79
- // left: 0;
80
- // width: 100vw;
81
- // height: 100vh;
82
- // background: rgba(0, 0, 0, 0.5);
83
- // z-index: 100009;
84
- // }
85
-
86
- &__group-container {
87
- position: relative;
88
- display: flex;
89
- flex-direction: column;
90
- height: calc(100% - 47px);
91
- overflow-y: auto;
92
- overflow-x: hidden;
93
- @extend %scrollbar-thin;
94
-
95
- @include mixins.media-lg {
96
- height: auto;
97
- overflow: visible;
98
- }
99
-
100
- .search__filter-group:last-child {
101
- margin-bottom: 20px;
102
- }
103
- }
104
-
105
- &__actions {
106
- position: sticky;
107
- bottom: 0;
108
- left: 0;
109
- display: flex;
110
- justify-content: space-between;
111
- align-items: center;
112
- gap: 15px;
113
- padding: 15px 20px;
114
- background-color: white;
115
- margin-top: auto;
116
-
117
- @include mixins.media-lg {
118
- display: none;
119
- }
120
- }
121
-
122
- &--background {
123
- background-color: rgba(0, 0, 0, 0.7);
124
- height: 100%;
125
- width: 100%;
126
- position: fixed;
127
-
128
- @include mixins.media-lg {
129
- display: none;
130
- position: relative;
131
- }
132
- }
133
-
134
- &--close {
135
- position: fixed;
136
- z-index: 100020;
137
- top: 30px;
138
- right: 30px;
139
- display: none;
140
- background: none;
141
- border: none;
142
- color: white;
143
- cursor: pointer;
144
- }
145
-
146
- &--modal {
147
- display: block;
148
- position: fixed;
149
- top: 0;
150
- left: 0;
151
- width: 100vw;
152
- height: 100vh;
153
- z-index: 100009;
154
-
155
- // Initial hidden state
156
- opacity: 0;
157
- pointer-events: none;
158
- transition: left 0.35s ease, opacity 0.25s ease;
159
-
160
- @include mixins.media-lg {
161
- position: relative;
162
- left: 0px;
163
- width: auto;
164
- height: auto;
165
- background: transparent;
166
- opacity: 1;
167
- z-index: 1;
168
- }
169
-
170
- // When modal is open
171
- &.is-open {
172
- left: 0px;
173
- opacity: 1;
174
- pointer-events: auto;
175
-
176
- .search__filters--close {
177
- display: block;
178
- }
179
-
180
- .search__filters {
181
- position: relative;
182
- display: block;
183
- max-width: 360px;
184
- width: 360px;
185
- height: 100%;
186
- margin: 0;
187
- border: none;
188
- box-shadow: none;
189
- border-top-left-radius: 0px;
190
- border-bottom-left-radius: 0px;
191
- transform: translateX(0);
192
- pointer-events: auto;
193
- }
194
- }
195
- }
196
- }
197
-
198
- &__filter {
199
- &-group {
200
- padding: 0 20px;
201
- }
202
-
203
- &-row {
204
- display: flex;
205
- align-items: center;
206
- justify-content: space-between;
207
- margin-top: 15px;
208
-
209
- &-flex-title {
210
- display: flex;
211
- align-items: center;
212
- gap: 15px;
213
- }
214
-
215
- &-icon {
216
- fill: hotpink;
217
- }
218
-
219
- &--underline {
220
- border-bottom: var(--tide-booking-search-filter-group-title-text-border);
221
- margin-bottom: 8px;
222
- cursor: pointer;
223
- }
224
-
225
- &--checkmark {
226
- margin-top: 5px;
227
-
228
- @include media-lg {
229
- margin-top: 15px;
230
- }
231
- }
232
- }
233
-
234
- &__header {
235
- padding: 0 20px;
236
- margin-bottom: 15px;
237
- margin-top: 0;
238
- padding-top: 15px;
239
- }
240
-
241
- &-link {
242
- color: orangered;
243
- transition: all 0.3s;
244
- cursor: pointer;
245
- text-decoration: underline;
246
- margin-top: 136px;
247
-
248
- &:hover {
249
- color: green;
250
- }
251
- }
252
-
253
- &-chevron-icon {
254
- transition: transform 0.3s ease;
255
- transform: rotate(180deg);
256
- margin-top: 5px;
257
-
258
- &--flipped {
259
- transform: rotate(0);
260
- }
261
- }
262
-
263
- &-small-title {
264
- font-size: 14px;
265
- font-weight: 400;
266
- margin: 0 auto;
267
- }
268
-
269
- &-medium-title {
270
- font-size: 16px;
271
- font-weight: 700;
272
- margin: 5px 0;
273
-
274
- &-wrapper {
275
- margin-top: 12.5px;
276
- margin-bottom: 2.5px;
277
- }
278
- }
279
-
280
- &-large-title {
281
- font-size: 18px;
282
- font-weight: var(--tide-booking-search-filter-group-title-text-font-weight);
283
- margin: 5px 0;
284
- }
285
-
286
- &-reset {
287
- color: var(--tide-booking-search-reset-color);
288
- font-size: 15px;
289
- font-weight: var(--tide-booking-search-reset-font-weight);
290
- text-decoration: var(--tide-booking-search-reset-text-decoration);
291
- cursor: pointer;
292
- }
293
-
294
- // &-facet {
295
- // color: variables.$text-color;
296
- // }
297
-
298
- // &-price {
299
- // font-size: variables.$font-size-body--small;
300
- // color: variables.$secondary-color;
301
- // margin-bottom: 0;
302
- // margin-top: 0;
303
- // min-width: 88px;
304
- // text-align: end;
305
- // }
306
-
307
- // &-button {
308
- // width: 100%;
309
- // padding: 1rem 0;
310
- // background: transparent;
311
- // border: 1px solid variables.$secondary-color;
312
- // color: variables.$secondary-color;
313
- // border-radius: 3px;
314
- // margin-top: 2rem;
315
- // transition: all 0.2s ease-in-out;
316
- // cursor: pointer;
317
-
318
- // &:hover {
319
- // background: variables.$secondary-color;
320
- // color: variables.$white;
321
- // }
322
- // }
323
-
324
- &__image {
325
- position: absolute;
326
- top: 50%;
327
- left: 50%;
328
- width: 100%;
329
- height: 100%;
330
- transform: translate(-50%, -50%);
331
- z-index: -1;
332
-
333
- &__wrapper {
334
- position: relative;
335
- width: 100%;
336
- height: 200px;
337
- max-height: 200px;
338
- padding: 20px;
339
- overflow: hidden;
340
- border-radius: var(--tide-booking-search-filter-img-border-radius);
341
- display: flex;
342
- flex-direction: column;
343
- align-items: center;
344
- justify-content: flex-end;
345
- }
346
-
347
- &__text {
348
- color: var(--tide-booking-search-filter-img-text-color);
349
- font-weight: var(--tide-booking-search-filter-img-text-font-weight);
350
- font-family: var(--tide-booking-search-filter-img-text-font-family);
351
- }
352
-
353
- &__title {
354
- font-size: 20px;
355
- font-weight: var(--tide-booking-search-filter-img-title-font-weight);
356
- margin: 5px 0;
357
- color: var(--tide-booking-search-filter-img-title-color);
358
- text-align: center;
359
- font-family: var(--tide-booking-search-filter-img-title-font-family);
360
- }
361
- }
362
-
363
- &__prices {
364
- padding: 0 20px;
365
- display: flex;
366
- flex-direction: column;
367
-
368
- &__wrapper {
369
- padding: 20px 0px;
370
- display: flex;
371
- flex-direction: column;
372
- align-items: center;
373
- p {
374
- margin: 0px;
375
- line-height: 1.5;
376
- }
377
- }
378
-
379
- &--amount {
380
- font-family: var(--tide-booking-search-filter-price-amount-font-family);
381
- font-size: 30px;
382
- font-weight: var(--tide-booking-search-filter-price-amount-font-weight);
383
- margin: 0;
384
- color: var(--tide-booking-search-filter-price-amount-color);
385
-
386
- p {
387
- font-family: var(--tide-booking-search-filter-price-text-font-family);
388
- font-weight: var(--tide-booking-search-filter-price-text-font-weight);
389
- text-align: center;
390
- color: var(--tide-booking-search-filter-price-text-color);
391
- margin: 0px;
392
-
393
- strong {
394
- font-weight: var(--tide-booking-search-filter-price-total-font-weight);
395
- color: var(--tide-booking-search-filter-price-total-color);
396
- }
397
- }
398
- }
399
- }
400
-
401
- &__itinerary {
402
- margin-top: 30px;
403
- padding: 0 20px;
404
- padding-bottom: 30px;
405
- display: flex;
406
- flex-direction: column;
407
- gap: 15px;
408
-
409
- p {
410
- margin: 0px;
411
- font-family: var(--tide-booking-search-itinerary-filter-title-font-family);
412
- font-weight: var(--tide-booking-search-itinerary-filter-title-font-weight);
413
- color: var(--tide-booking-search-itinerary-filter-title-color);
414
- }
415
-
416
- &__country {
417
- padding: 15px 20px;
418
- box-shadow: var(--tide-booking-search-itinerary-filter-country-box-shadow);
419
- display: flex;
420
- align-items: center;
421
- gap: 20px;
422
- border-radius: var(--tide-booking-search-itinerary-filter-country-border-radius);
423
- border: var(--tide-booking-search-itinerary-filter-country-border);
424
- background: var(--tide-booking-search-itinerary-filter-country-background);
425
-
426
- &-icon {
427
- display: flex;
428
- min-width: 30px;
429
- max-width: 30px;
430
- align-items: center;
431
- justify-content: center;
432
- color: var(--tide-booking-search-itinerary-filter-country-icon-color);
433
- }
434
-
435
- &-content {
436
- h4 {
437
- font-family: var(--tide-booking-search-itinerary-filter-country-title-font-family);
438
- margin-bottom: 3px;
439
- font-size: 20px;
440
- font-weight: var(--tide-booking-search-itinerary-filter-country-title-font-weight);
441
- color: var(--tide-booking-search-itinerary-filter-country-title-color);
442
- }
443
-
444
- p {
445
- margin: 0px;
446
- font-family: var(--tide-booking-search-itinerary-filter-country-text-font-family);
447
- font-weight: var(--tide-booking-search-itinerary-filter-country-text-font-weight);
448
- color: var(--tide-booking-search-itinerary-filter-country-text-color);
449
-
450
- strong {
451
- font-weight: var(--tide-booking-search-itinerary-filter-country-text-bold-font-weight);
452
- color: var(--tide-booking-search-itinerary-filter-country-text-bold-color);
453
- }
454
- }
455
- }
456
- }
457
-
458
- &__transport {
459
- position: relative;
460
- padding-left: 20px;
461
- background: var(--tide-booking-search-itinerary-filter-transport-background);
462
- border-radius: var(--tide-booking-search-itinerary-filter-transport-border-radius);
463
- border: var(--tide-booking-search-itinerary-filter-transport-border);
464
- box-shadow: var(--tide-booking-search-itinerary-filter-transport-box-shadow);
465
-
466
- &-timeline {
467
- height: 100%;
468
- text-align: center;
469
- content: ' ';
470
- z-index: 1;
471
- display: block;
472
- top: 0;
473
- left: 53px;
474
- position: absolute;
475
- width: 45px;
476
- min-width: 45px;
477
- max-width: 45px;
478
-
479
- &-line {
480
- width: 1px;
481
- height: 100%;
482
- margin: 0 auto;
483
- border-left: var(--tide-booking-search-itinerary-filter-transport-timeline);
484
- }
485
- }
486
-
487
- &-item {
488
- display: flex;
489
- align-items: center;
490
- gap: 15px;
491
- position: relative;
492
- z-index: 2;
493
- }
494
-
495
- &-date {
496
- p {
497
- margin: 0px;
498
- color: var(--tide-booking-search-itinerary-filter-transport-date-month-color);
499
- font-weight: var(--tide-booking-search-itinerary-filter-transport-date-month-font-weight);
500
- }
501
-
502
- &-date {
503
- font-size: 24px;
504
-
505
- strong {
506
- font-weight: var(--tide-booking-search-itinerary-filter-transport-date-day-font-weight);
507
- color: var(--tide-booking-search-itinerary-filter-transport-date-day-color);
508
- }
509
- }
510
- }
511
-
512
- &-badge {
513
- width: 30px;
514
- min-width: 30px;
515
- max-width: 30px;
516
- height: 30px;
517
- min-height: 30px;
518
- max-height: 30px;
519
- background-color: var(--tide-booking-search-itinerary-filter-transport-badge-icon-background-color);
520
- border-radius: 50%;
521
- display: flex;
522
- align-items: center;
523
- justify-content: center;
524
- color: var(--tide-booking-search-itinerary-filter-transport-badge-icon-color);
525
- }
526
-
527
- &-details {
528
- display: flex;
529
- flex-direction: column;
530
- gap: 15px;
531
-
532
- h6 {
533
- margin: 0px;
534
- font-size: 18px;
535
- font-weight: var(--tide-booking-search-itinerary-filter-transport-title-font-weight);
536
- color: var(--tide-booking-search-itinerary-filter-transport-title-color);
537
- }
538
-
539
- p {
540
- margin: 0px;
541
- font-size: 14px;
542
- }
543
-
544
- &-plane {
545
- font-size: 14px;
546
- display: flex;
547
- align-items: center;
548
- gap: 3px;
549
-
550
- svg {
551
- fill: var(--tide-booking-search-itinerary-filter-transport-plane-icon-color);
552
- }
553
-
554
- span {
555
- display: flex;
556
- align-items: center;
557
- gap: 3px;
558
- }
559
-
560
- strong {
561
- font-weight: var(--tide-booking-search-itinerary-filter-transport-plane-font-weight);
562
- color: var(--tide-booking-search-itinerary-filter-transport-plane-color);
563
- }
564
- }
565
-
566
- &-time {
567
- span {
568
- display: flex;
569
- align-items: center;
570
- }
571
- }
572
- }
573
- }
574
-
575
- &__segments {
576
- position: relative;
577
- display: flex;
578
- flex-direction: column;
579
- gap: 0;
580
- gap: 15px;
581
- padding: 15px 20px;
582
- background: var(--tide-booking-search-itinerary-filter-segments-background);
583
- box-shadow: var(--tide-booking-search-itinerary-filter-segments-box-shadow);
584
- border-radius: var(--tide-booking-search-itinerary-filter-segments-border-radius);
585
- border: var(--tide-booking-search-itinerary-filter-segments-border);
586
-
587
- &__wrapper {
588
- position: relative;
589
- display: flex;
590
- flex-direction: column;
591
- gap: 30px;
592
- }
593
-
594
- &-timeline {
595
- height: 100%;
596
- text-align: center;
597
- content: ' ';
598
- z-index: 1;
599
- display: block;
600
- top: 0;
601
- left: 33px;
602
- position: absolute;
603
- width: 45px;
604
- min-width: 45px;
605
- max-width: 45px;
606
-
607
- &-line {
608
- width: 1px;
609
- height: 100%;
610
- margin: 0 auto;
611
- border-left: var(--tide-booking-search-itinerary-filter-segment-timeline);
612
- }
613
- }
614
- }
615
-
616
- &__segment {
617
- position: relative;
618
-
619
- &-item {
620
- display: flex;
621
- align-items: center;
622
- gap: 15px;
623
- position: relative;
624
- z-index: 2;
625
-
626
- &--start {
627
- align-items: flex-start;
628
- }
629
- }
630
-
631
- &-badge {
632
- width: 30px;
633
- min-width: 30px;
634
- max-width: 30px;
635
- height: 30px;
636
- min-height: 30px;
637
- max-height: 30px;
638
- background: var(--tide-booking-search-itinerary-filter-segment-badge-icon-background-color);
639
- outline: 3px solid var(--tide-booking-search-itinerary-filter-segments-background);
640
- border-radius: 50%;
641
- display: flex;
642
- align-items: center;
643
- justify-content: center;
644
- color: var(--tide-booking-search-itinerary-filter-segment-badge-icon-color);
645
-
646
- &--secondary {
647
- background: var(--tide-booking-search-itinerary-filter-segment-badge--secondary-icon-background-color);
648
- color: var(--tide-booking-search-itinerary-filter-segment-badge--secondary-icon-color);
649
- }
650
- }
651
-
652
- &-date {
653
- p {
654
- margin: 0px;
655
- color: var(--tide-booking-search-itinerary-filter-segment-date-month-color);
656
- font-weight: var(--tide-booking-search-itinerary-filter-segment-date-month-font-weight);
657
- }
658
-
659
- &-date {
660
- font-size: 24px;
661
-
662
- strong {
663
- font-weight: var(--tide-booking-search-itinerary-filter-segment-date-day-font-weight);
664
- color: var(--tide-booking-search-itinerary-filter-segment-date-day-color);
665
- }
666
- }
667
- }
668
-
669
- &-nights {
670
- display: flex;
671
- align-items: center;
672
- flex-flow: row nowrap;
673
- max-width: 26px;
674
-
675
- svg {
676
- min-width: 16px;
677
- min-height: 16px;
678
- }
679
- }
680
-
681
- &-details {
682
- display: flex;
683
- flex-direction: column;
684
- gap: 10px;
685
-
686
- h6 {
687
- margin: 0;
688
- font-size: 18px;
689
- font-weight: var(--tide-booking-search-itinerary-filter-segment-title-font-weight);
690
- color: var(--tide-booking-search-itinerary-filter-segment-title-color);
691
- }
692
-
693
- p {
694
- margin: 0px;
695
- line-height: 1.2;
696
- font-weight: var(--tide-booking-search-itinerary-filter-segment-text-font-weight);
697
- color: var(--tide-booking-search-itinerary-filter-segment-text-color);
698
- }
699
-
700
- .rating {
701
- display: flex;
702
- align-items: center;
703
- gap: 3px;
704
-
705
- svg {
706
- fill: var(--tide-booking-search-hotel-card-starrating-color);
707
- }
708
- }
709
- }
710
- }
711
- }
712
- }
713
-
714
- &__results {
715
- display: flex;
716
- flex-direction: column;
717
- width: 100%;
718
- grid-column: span 12;
719
-
720
- @include mixins.media-md {
721
- grid-column: auto;
722
- }
723
-
724
- &__cards {
725
- display: grid;
726
- gap: 15px;
727
- grid-template-columns: 1fr;
728
- grid-template-rows: repeat(1, 1fr);
729
-
730
- @include mixins.media-sm {
731
- grid-template-columns: repeat(2, 1fr);
732
- }
733
-
734
- @include mixins.media-md {
735
- grid-template-columns: repeat(3, 1fr);
736
- }
737
-
738
- @include mixins.media-lg {
739
- grid-template-columns: repeat(2, 1fr);
740
- }
741
-
742
- @include mixins.media-xgl {
743
- grid-template-columns: repeat(3, 1fr);
744
- }
745
- }
746
-
747
- &__wrapper {
748
- display: flex;
749
- flex-direction: column;
750
- gap: 15px;
751
-
752
- .search__results__label {
753
- &:first-child {
754
- margin-top: 15px;
755
- }
756
- }
757
- }
758
-
759
- &__label {
760
- display: grid;
761
- grid-template-columns: 50px 1fr;
762
- grid-template-rows: 50px;
763
- align-items: center;
764
- border-radius: var(--tide-booking-search-results-label-border-radius);
765
- overflow: hidden;
766
- margin-top: 30px;
767
-
768
- &__date {
769
- display: flex;
770
- flex-flow: column;
771
- align-items: center;
772
- justify-content: center;
773
- height: 100%;
774
-
775
- background: var(--tide-booking-search-results-label-date-background);
776
- border: var(--tide-booking-search-results-label-date-border);
777
-
778
- p {
779
- margin: 0px;
780
- font-weight: var(--tide-booking-search-results-label-date-month-font-weight);
781
- color: var(--tide-booking-search-results-label-date-month-color);
782
- }
783
-
784
- &-date {
785
- font-size: 24px;
786
- font-weight: var(--tide-booking-search-results-label-date-day-font-weight);
787
- color: var(--tide-booking-search-results-label-date-day-color);
788
- }
789
- }
790
-
791
- &__text {
792
- border: var(--tide-booking-search-results-label-border);
793
- border-left: none;
794
- height: 50px;
795
- display: flex;
796
- align-items: center;
797
- padding-left: 15px;
798
-
799
- h3 {
800
- display: flex;
801
- align-items: center;
802
- gap: 3px;
803
- margin: 0px;
804
- color: var(--tide-booking-search-results-label-title-color);
805
- font-weight: var(--tide-booking-search-results-label-font-weight);
806
-
807
- strong {
808
- font-weight: var(--tide-booking-search-results-label-title-bold-font-weight);
809
- color: var(--tide-booking-search-results-label-title-bold-color);
810
- }
811
- }
812
- }
813
-
814
- &--secondary {
815
- .search__results__label__date {
816
- background: var(--tide-booking-search-results-label-date-background--secondary);
817
- border: var(--tide-booking-search-results-label-date-border--secondary);
818
- }
819
- }
820
- }
821
-
822
- &__options {
823
- display: flex;
824
- align-items: center;
825
- justify-content: space-between;
826
- gap: 15px;
827
- padding: 15px 30px;
828
- box-shadow: var(--tide-booking-search-more-options-box-shadow);
829
- border: var(--tide-booking-search-more-options-border);
830
- background-color: var(--tide-booking-search-more-options-background);
831
- border-radius: var(--tide-booking-search-more-options-border-radius);
832
-
833
- p {
834
- margin: 0px;
835
- color: var(--tide-booking-search-more-options-color);
836
- }
837
- }
838
-
839
- &__tab-views {
840
- display: none;
841
- align-items: center;
842
-
843
- @include mixins.media-sm {
844
- display: flex;
845
- }
846
- }
847
-
848
- &__tab-view {
849
- width: 100%;
850
- display: flex;
851
- align-items: center;
852
- gap: 5px;
853
- font-size: 18px;
854
- color: var(--tide-booking-search-tab-view-color);
855
- background: var(--tide-booking-search-tab-view-background);
856
- border: none;
857
- border-bottom: var(--tide-booking-search-tab-view-border);
858
- cursor: pointer;
859
- outline: none;
860
- padding: 10px 20px;
861
- transition: all 0.3s ease;
862
-
863
- &:hover {
864
- color: var(--tide-booking-search-tab-view-hover-color);
865
- background: var(--tide-booking-search-tab-view-hover-background);
866
- border-bottom: var(--tide-booking-search-tab-view-hover-border);
867
- }
868
-
869
- &--active {
870
- color: var(--tide-booking-search-tab-view-active-color);
871
- background: var(--tide-booking-search-tab-view-active-background);
872
- border-bottom: var(--tide-booking-search-tab-view-active-border);
873
- }
874
- }
875
-
876
- &__actions {
877
- display: flex;
878
- align-items: center;
879
- gap: 16px;
880
- }
881
- }
882
-
883
- &__result {
884
- display: flex;
885
- flex-wrap: wrap;
886
- gap: 15px;
887
- margin: 0;
888
- margin-bottom: 20px;
889
-
890
- &--flight {
891
- display: grid;
892
- gap: 0;
893
- grid-template-columns: 1fr;
894
- margin: 0 0 30px;
895
-
896
- @include mixins.media-md {
897
- grid-template-rows: repeat(1, 1fr);
898
- }
899
-
900
- @include mixins.media-lg {
901
- grid-template-columns: 1fr 257px;
902
- }
903
- }
904
-
905
- &-row {
906
- display: flex;
907
- align-items: center;
908
- justify-content: space-between;
909
- margin-bottom: 12px;
910
- margin-top: 18px;
911
-
912
- @include mixins.media-sm {
913
- margin-bottom: 24px;
914
- }
915
-
916
- &-text {
917
- font-size: 16px;
918
- color: gray;
919
- margin: 0;
920
- }
921
-
922
- .cta--filter {
923
- position: relative;
924
- top: 0px;
925
- left: 0px;
926
- }
927
-
928
- // &-button {
929
- // width: 13.5rem;
930
- // height: 3.5rem;
931
- // display: flex;
932
- // justify-content: space-between;
933
- // align-items: center;
934
- // padding: 0 1rem;
935
- // border: 1px solid blue;
936
- // border-radius: 3px;
937
- // color: blue;
938
- // cursor: pointer;
939
- // transition: all 0.2s ease-in-out;
940
-
941
- // &:hover {
942
- // background: red;
943
- // color: yellow;
944
-
945
- // .search__result-row-icon {
946
- // fill: white;
947
- // }
948
- // }
949
- // }
950
-
951
- &-icon {
952
- fill: red;
953
- }
954
-
955
- .dropdown {
956
- &:after {
957
- display: none;
958
- }
959
-
960
- &__label {
961
- display: none;
962
-
963
- @include mixins.media-sm {
964
- display: block;
965
- }
966
- }
967
-
968
- &__input {
969
- width: auto;
970
- }
971
-
972
- &-toggle {
973
- min-width: 165px;
974
- }
975
- }
976
- }
977
-
978
- &-card {
979
- // flex-basis: 100%;
980
-
981
- // @include mixins.media-xs {
982
- // flex-basis: calc(50% - 8px);
983
- // }
984
-
985
- // @include mixins.media-lg {
986
- // flex: calc(33% - 8px) 0 0;
987
- // }
988
-
989
- &__wrapper {
990
- height: 100%;
991
- display: flex;
992
- flex-direction: column;
993
- justify-content: space-between;
994
- align-items: stretch;
995
- cursor: pointer;
996
- border-radius: var(--tide-booking-search-hotel-card-border-radius);
997
- overflow: hidden;
998
- box-shadow: var(--tide-booking-search-hotel-card-box-shadow);
999
- background-color: var(--tide-booking-search-hotel-card-background);
1000
- transition: transform 0.3s ease-in-out;
1001
-
1002
- &--custom {
1003
- gap: 20px;
1004
- .search__result-card__footer {
1005
- padding: 20px;
1006
- padding-top: 0px;
1007
- }
1008
- }
1009
- }
1010
-
1011
- &__img-wrapper {
1012
- position: relative;
1013
- width: 100%;
1014
- height: 200px;
1015
- overflow: hidden;
1016
- background-color: #f5f5f5;
1017
- }
1018
-
1019
- &__img {
1020
- width: 100%;
1021
- height: 100%;
1022
- object-fit: cover;
1023
- }
1024
-
1025
- &__price {
1026
- font-family: var(--tide-booking-search-hotel-card-price-font-family);
1027
- font-weight: var(--tide-booking-search-hotel-card-price-font-weight);
1028
- color: var(--tide-booking-search-hotel-card-price-color);
1029
- font-size: 20px;
1030
-
1031
- &__wrapper {
1032
- position: absolute;
1033
- bottom: 0px;
1034
- right: 0px;
1035
- background: var(--tide-booking-search-hotel-card-price-background-color);
1036
- display: flex;
1037
- flex-flow: column nowrap;
1038
- align-items: center;
1039
- justify-content: center;
1040
- gap: 5px;
1041
- padding: 5px 20px;
1042
- border-radius: 5px 0 0 0;
1043
- box-shadow: var(--tide-booking-search-hotel-card-price-box-shadow);
1044
- }
1045
-
1046
- &__label {
1047
- font-size: 12px;
1048
- font-weight: var(--tide-booking-search-hotel-card-price-label-font-weight);
1049
- color: var(--tide-booking-search-hotel-card-price-label-color);
1050
- }
1051
- }
1052
-
1053
- &__content {
1054
- display: flex;
1055
- flex-direction: column;
1056
- justify-content: space-between;
1057
- gap: 20px;
1058
- padding: 15px;
1059
- height: calc(100% - 200px);
1060
-
1061
- &__wrapper {
1062
- display: flex;
1063
- flex-direction: column;
1064
- gap: 10px;
1065
- }
1066
- }
1067
-
1068
- &__header {
1069
- display: flex;
1070
- justify-content: space-between;
1071
- gap: 5px;
1072
-
1073
- &__wrapper {
1074
- .rating {
1075
- display: flex;
1076
- align-items: center;
1077
- gap: 3px;
1078
-
1079
- svg {
1080
- fill: var(--tide-booking-search-hotel-card-starrating-color);
1081
- }
1082
- }
1083
- }
1084
- }
1085
-
1086
- &__title {
1087
- font-family: var(--tide-booking-search-hotel-card-title-font-family);
1088
- font-weight: var(--tide-booking-search-hotel-card-title-font-weight);
1089
- color: var(--tide-booking-search-hotel-card-title-color);
1090
- margin-bottom: 0px;
1091
- }
1092
-
1093
- &__location {
1094
- display: flex;
1095
- justify-content: flex-start;
1096
- align-items: flex-start;
1097
- gap: 5px;
1098
- font-size: 14px;
1099
- line-height: 1.5;
1100
- margin-bottom: 0px;
1101
- color: var(--tide-booking-search-hotel-card-option-color);
1102
- font-weight: var(--tide-booking-search-hotel-card-location-font-weight);
1103
-
1104
- svg {
1105
- width: 16px;
1106
- height: 16px;
1107
- margin-top: 3px;
1108
- fill: var(--tide-booking-search-hotel-card-location-icon-color);
1109
- }
1110
- }
1111
-
1112
- &__description {
1113
- display: none;
1114
- font-size: 16px;
1115
- font-weight: var(--tide-booking-search-hotel-card-description-font-weight);
1116
- line-height: 1.5;
1117
- color: var(--tide-booking-search-hotel-card-description-color);
1118
- margin-bottom: 0px;
1119
- -webkit-line-clamp: 3;
1120
- -webkit-box-orient: vertical;
1121
- overflow: hidden;
1122
- }
1123
-
1124
- &__options {
1125
- display: flex;
1126
- flex-wrap: wrap;
1127
- gap: 20px;
1128
- margin-top: 10px;
1129
- }
1130
-
1131
- &__option {
1132
- display: flex;
1133
- align-items: center;
1134
- flex-flow: nowrap;
1135
- gap: 5px;
1136
- font-weight: var(--tide-booking-search-hotel-card-option-font-weight);
1137
- color: var(--tide-booking-search-hotel-card-option-color);
1138
- font-size: 14px;
1139
-
1140
- svg {
1141
- width: 16px;
1142
- height: 16px;
1143
- fill: var(--tide-booking-search-hotel-card-option-icon-color);
1144
- }
1145
- }
1146
-
1147
- &__footer {
1148
- display: flex;
1149
- justify-content: space-between;
1150
- align-items: center;
1151
- gap: 1rem;
1152
- }
1153
-
1154
- &__allotment {
1155
- display: flex;
1156
- justify-content: space-between;
1157
- flex-direction: column;
1158
- gap: 30px;
1159
- background: var(--tide-booking-search-hotel-card-allotments-background);
1160
- padding: 20px;
1161
- border-radius: var(--tide-booking-search-hotel-card-allotments-border-radius);
1162
- border: var(--tide-booking-search-hotel-card-allotments-border);
1163
- box-shadow: var(--tide-booking-search-hotel-card-allotments-box-shadow);
1164
-
1165
- @include mixins.media-sm {
1166
- flex-direction: row;
1167
- gap: 20px;
1168
- }
1169
-
1170
- &__container {
1171
- display: grid;
1172
- grid-template-rows: repeat(1, 1fr);
1173
- gap: 15px;
1174
- width: 100%;
1175
-
1176
- @include mixins.media-xs {
1177
- grid-template-columns: 1fr 0.8fr;
1178
- }
1179
- }
1180
-
1181
- &__header {
1182
- display: flex;
1183
- flex-direction: column;
1184
-
1185
- gap: 15px;
1186
-
1187
- @include mixins.media-sm {
1188
- justify-content: space-between;
1189
- }
1190
- }
1191
-
1192
- &__img {
1193
- width: 100%;
1194
- height: 100%;
1195
- object-fit: cover;
1196
- }
1197
-
1198
- &__img-wrapper {
1199
- border-radius: 16px 16px 0 0;
1200
- position: relative;
1201
- width: 100%;
1202
- height: 200px;
1203
- overflow: hidden;
1204
- background-color: #f5f5f5;
1205
-
1206
- @include mixins.media-md {
1207
- width: 40%;
1208
- height: auto;
1209
- border-radius: 16px 0 0 16px;
1210
- }
1211
-
1212
- @include mixins.media-lg {
1213
- width: 100%;
1214
- height: 200px;
1215
- border-radius: 16px 16px 0 0;
1216
- }
1217
-
1218
- @include mixins.media-xl {
1219
- width: 40%;
1220
- height: auto;
1221
- border-radius: 16px 0 0 16px;
1222
- }
1223
- }
1224
-
1225
- &__title {
1226
- font-weight: var(--tide-booking-search-hotel-card-allotments-title-font-weight);
1227
- color: var(--tide-booking-search-hotel-card-allotments-title-color);
1228
- margin: 0;
1229
- display: flex;
1230
- align-items: center;
1231
- justify-content: space-between;
1232
- gap: 5px;
1233
- width: 100%;
1234
-
1235
- @include mixins.media-sm {
1236
- justify-content: flex-start;
1237
- }
1238
-
1239
- &__wrapper {
1240
- display: flex;
1241
- align-items: flex-start;
1242
- flex-direction: column;
1243
- gap: 10px;
1244
- width: 100%;
1245
-
1246
- @include mixins.media-sm {
1247
- justify-content: space-between;
1248
- }
1249
- }
1250
- }
1251
-
1252
- &__badge {
1253
- border: var(--tide-booking-search-hotel-card-allotments-badge-border);
1254
- background: var(--tide-booking-search-hotel-card-allotments-badge-background);
1255
- color: var(--tide-booking-search-hotel-card-allotments-badge-color);
1256
- font-weight: var(--tide-booking-search-hotel-card-allotments-badge-font-weight);
1257
- padding: 5px 10px;
1258
- border-radius: var(--tide-booking-search-hotel-card-allotments-badge-border-radius);
1259
- font-size: 12px;
1260
- // display: flex;
1261
- // align-items: center;
1262
- // gap: 5px;
1263
- white-space: nowrap;
1264
- vertical-align: middle;
1265
- line-height: 1.5;
1266
-
1267
- svg {
1268
- vertical-align: sub;
1269
- margin-right: 3px;
1270
- }
1271
-
1272
- &--secondary {
1273
- border: var(--tide-booking-search-hotel-card-allotments-badge--secondary-border);
1274
- background: var(--tide-booking-search-hotel-card-allotments-badge--secondary-background);
1275
- color: var(--tide-booking-search-hotel-card-allotments-badge--secondary-color);
1276
- }
1277
- }
1278
-
1279
- &__info {
1280
- display: flex;
1281
- align-items: flex-end;
1282
- gap: 10px;
1283
- }
1284
-
1285
- &__persons {
1286
- margin: 0;
1287
- display: flex;
1288
- align-items: flex-end;
1289
- gap: 5px;
1290
- }
1291
-
1292
- &__person {
1293
- display: flex;
1294
- align-items: flex-end;
1295
- gap: 3px;
1296
- font-weight: var(--tide-booking-search-hotel-card-allotments-persons-font-weight);
1297
- color: var(--tide-booking-search-hotel-card-allotments-persons-color);
1298
-
1299
- span {
1300
- color: var(--tide-booking-search-hotel-card-allotments-persons-number-color);
1301
- }
1302
- }
1303
-
1304
- &__wrapper {
1305
- display: flex;
1306
- flex-direction: column;
1307
- gap: 15px;
1308
- }
1309
-
1310
- &__date {
1311
- font-weight: var(--tide-booking-search-hotel-card-allotments-date-font-weight);
1312
- color: var(--tide-booking-search-hotel-card-allotments-date-color);
1313
- margin: 0;
1314
- display: flex;
1315
- align-items: center;
1316
- gap: 5px;
1317
- line-height: 1.5;
1318
- }
1319
-
1320
- &__footer {
1321
- display: flex;
1322
- flex-direction: column;
1323
- justify-content: space-between;
1324
- gap: 20px;
1325
-
1326
- @include mixins.media-xs {
1327
- flex-direction: row;
1328
- }
1329
-
1330
- @include mixins.media-sm {
1331
- align-items: flex-end;
1332
- flex-direction: column;
1333
- }
1334
-
1335
- @include mixins.media-lg {
1336
- min-width: 288px;
1337
- }
1338
-
1339
- .cta {
1340
- width: auto !important;
1341
- }
1342
- }
1343
-
1344
- &__price {
1345
- font-size: 20px;
1346
- font-weight: var(--tide-booking-search-hotel-card-allotments-price-font-weight);
1347
- color: var(--tide-booking-search-hotel-card-allotments-price-color);
1348
- margin: 0;
1349
-
1350
- &__wrapper {
1351
- display: flex;
1352
- flex-direction: column;
1353
- align-items: flex-end;
1354
- gap: 5px;
1355
- min-width: 200px;
1356
-
1357
- @include mixins.media-xs {
1358
- align-items: flex-start;
1359
- }
1360
-
1361
- @include mixins.media-sm {
1362
- align-items: flex-end;
1363
- }
1364
- }
1365
-
1366
- &__info {
1367
- text-align: right;
1368
- line-height: 1.5;
1369
-
1370
- @include mixins.media-xs {
1371
- text-align: left;
1372
- }
1373
-
1374
- @include mixins.media-sm {
1375
- text-align: right;
1376
- }
1377
- }
1378
- }
1379
- }
1380
- }
1381
- }
1382
-
1383
- &__flight-card {
1384
- padding: 0 8px 8px 8px;
1385
- border-radius: 20px;
1386
- background: white;
1387
- border: 1px solid blue;
1388
-
1389
- @include mixins.media-sm {
1390
- padding: 0.75rem 2rem;
1391
- }
1392
-
1393
- @include mixins.media-lg {
1394
- width: 100%;
1395
- }
1396
-
1397
- &-content {
1398
- position: relative;
1399
- display: grid;
1400
- grid-template-columns: repeat(3, 1fr);
1401
- gap: 1rem;
1402
-
1403
- @include mixins.media-sm {
1404
- /* grid-template-columns: repeat(3, 1fr); */
1405
- grid-template-columns: repeat(5, 1fr);
1406
- gap: 30px;
1407
- }
1408
-
1409
- &-radio {
1410
- position: absolute;
1411
- top: 50%;
1412
- left: 15px;
1413
-
1414
- &::before {
1415
- content: '';
1416
- position: absolute;
1417
- top: 50%;
1418
- left: -3rem; // Adjust this value to position the line correctly
1419
- width: calc(100% + 0.5rem); // Adjust this value to extend the line to the left edge
1420
- height: 1px; // Adjust the thickness of the line
1421
- background-color: blue; // Line color
1422
- transform: translateY(-50%);
1423
- }
1424
- }
1425
-
1426
- &-top {
1427
- border-bottom: 1px solid blue;
1428
- padding: 1rem 0;
1429
- }
1430
-
1431
- &-bottom {
1432
- margin-bottom: 0.25rem;
1433
- margin-top: 1.5rem;
1434
- }
1435
-
1436
- &-icon {
1437
- fill: red;
1438
-
1439
- &--flipped {
1440
- transform: rotate(180deg);
1441
- }
1442
- }
1443
-
1444
- &-start {
1445
- grid-column: span 2;
1446
- display: flex;
1447
- flex-direction: column;
1448
- align-items: flex-end;
1449
-
1450
- &-time {
1451
- display: flex;
1452
- align-items: center;
1453
- gap: 1rem;
1454
-
1455
- h5 {
1456
- font-size: 18px;
1457
- font-weight: 400;
1458
- color: gray;
1459
- margin: 0;
1460
- }
1461
- }
1462
-
1463
- &-destination {
1464
- color: black;
1465
- font-size: 14px;
1466
- margin-top: 0.5rem;
1467
- margin-bottom: 0;
1468
- text-align: end;
1469
- }
1470
-
1471
- &-date {
1472
- font-size: 15px;
1473
- color: gray;
1474
- margin-top: 0;
1475
- text-align: end;
1476
- }
1477
- }
1478
-
1479
- &-stops {
1480
- grid-column: span 1;
1481
-
1482
- display: flex;
1483
- flex-direction: column;
1484
- align-items: center;
1485
- justify-content: center;
1486
- gap: 4px;
1487
-
1488
- max-width: 5.5rem;
1489
-
1490
- &-info {
1491
- display: flex;
1492
- justify-content: center;
1493
- align-items: center;
1494
- gap: 8px;
1495
-
1496
- &-text {
1497
- font-size: 14px;
1498
- color: gray;
1499
- margin: 0;
1500
- }
1501
-
1502
- &-hour {
1503
- font-size: 14px;
1504
- color: gray;
1505
- margin-top: 0;
1506
- margin-bottom: 16px;
1507
- }
1508
- }
1509
- }
1510
-
1511
- &-end {
1512
- grid-column: span 2;
1513
-
1514
- display: flex;
1515
- flex-direction: column;
1516
- align-items: flex-start;
1517
-
1518
- &-time {
1519
- font-size: 18px;
1520
- font-weight: 400;
1521
-
1522
- color: black;
1523
-
1524
- margin: 0;
1525
- }
1526
-
1527
- &-destination {
1528
- color: black;
1529
- font-size: 14px;
1530
-
1531
- margin-top: 8px;
1532
- margin-bottom: 0;
1533
-
1534
- text-align: left;
1535
- }
1536
-
1537
- &-date {
1538
- font-size: 14px;
1539
- color: gray;
1540
-
1541
- margin-top: 0;
1542
-
1543
- text-align: left;
1544
-
1545
- &--warning {
1546
- color: pink;
1547
- }
1548
-
1549
- &-wrapper {
1550
- display: flex;
1551
- align-items: center;
1552
- gap: 8px;
1553
- }
1554
-
1555
- &-icon {
1556
- margin-top: 5px;
1557
- }
1558
- }
1559
- }
1560
- }
1561
- }
1562
-
1563
- &__banner {
1564
- display: flex;
1565
- justify-content: center;
1566
- margin-bottom: 60px;
1567
- margin-top: 30px;
1568
- }
1569
-
1570
- &__results__cards--extended {
1571
- @include mixins.media-sm {
1572
- grid-template-columns: repeat(1, 1fr);
1573
- }
1574
-
1575
- @include mixins.media-lg {
1576
- grid-template-columns: repeat(1, 1fr);
1577
- }
1578
-
1579
- .search__result-card {
1580
- &__wrapper {
1581
- @include mixins.media-sm {
1582
- flex-direction: row;
1583
- justify-content: flex-start;
1584
- }
1585
-
1586
- @include mixins.media-lg {
1587
- flex-direction: row;
1588
- }
1589
- }
1590
-
1591
- &__img-wrapper {
1592
- @include mixins.media-sm {
1593
- width: 40%;
1594
- min-height: 100%;
1595
- overflow: hidden;
1596
- }
1597
-
1598
- @include mixins.media-lg {
1599
- width: 40%;
1600
- min-height: 100%;
1601
- }
1602
- }
1603
-
1604
- &__price {
1605
- &__wrapper {
1606
- @include mixins.media-sm {
1607
- position: absolute;
1608
- bottom: auto;
1609
- right: auto;
1610
- top: 0px;
1611
- left: 50%;
1612
- transform: translateX(-50%);
1613
- border-radius: 0 0 5px 5px;
1614
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
1615
- }
1616
- }
1617
- }
1618
-
1619
- &__content {
1620
- @include mixins.media-sm {
1621
- width: 60%;
1622
- padding: 20px;
1623
- height: auto;
1624
- }
1625
-
1626
- @include mixins.media-lg {
1627
- width: 60%;
1628
- padding: 20px;
1629
- }
1630
- }
1631
-
1632
- &__header {
1633
- &__wrapper {
1634
- @include mixins.media-sm {
1635
- display: flex;
1636
- flex-direction: row-reverse;
1637
- align-items: center;
1638
- gap: 10px;
1639
- }
1640
-
1641
- @include mixins.media-lg {
1642
- flex-direction: row-reverse;
1643
- align-items: center;
1644
- }
1645
-
1646
- .rating {
1647
- margin-top: 2px;
1648
- }
1649
- }
1650
- }
1651
-
1652
- &__description {
1653
- @include mixins.media-sm {
1654
- display: -webkit-box;
1655
- }
1656
- }
1657
-
1658
- &__footer {
1659
- @include mixins.media-sm {
1660
- justify-content: flex-end;
1661
-
1662
- .cta {
1663
- width: auto;
1664
- }
1665
- }
1666
- }
1667
-
1668
- &__allotment {
1669
- padding: 0px;
1670
- @include mixins.media-sm {
1671
- flex-direction: column;
1672
- }
1673
-
1674
- @include mixins.media-md {
1675
- flex-direction: row;
1676
- }
1677
-
1678
- @include mixins.media-lg {
1679
- flex-direction: column;
1680
- }
1681
-
1682
- @include mixins.media-xl {
1683
- flex-direction: row;
1684
- }
1685
-
1686
- &__title__wrapper {
1687
- padding: 0px 20px;
1688
-
1689
- @include mixins.media-md {
1690
- padding: 20px 0px;
1691
- }
1692
- @include mixins.media-lg {
1693
- padding: 0px 20px;
1694
- }
1695
- @include mixins.media-xl {
1696
- padding: 20px 0px;
1697
- }
1698
- }
1699
-
1700
- &__footer {
1701
- padding: 0px 20px;
1702
- padding-bottom: 20px;
1703
- @include mixins.media-sm {
1704
- flex-direction: row;
1705
- align-items: flex-start;
1706
- }
1707
-
1708
- @include mixins.media-md {
1709
- flex-direction: column;
1710
- align-items: flex-end;
1711
- padding: 20px 0px;
1712
- padding-right: 20px;
1713
- }
1714
-
1715
- @include mixins.media-lg {
1716
- flex-direction: row;
1717
- align-items: flex-start;
1718
- padding: 0px 20px;
1719
- padding-bottom: 20px;
1720
- }
1721
-
1722
- @include mixins.media-xl {
1723
- flex-direction: column;
1724
- align-items: flex-end;
1725
- padding: 20px 0px;
1726
- padding-right: 20px;
1727
- }
1728
- }
1729
-
1730
- &__price {
1731
- &__wrapper {
1732
- @include mixins.media-sm {
1733
- align-items: flex-start;
1734
- }
1735
- @include mixins.media-md {
1736
- align-items: flex-end;
1737
- }
1738
- @include mixins.media-lg {
1739
- align-items: flex-start;
1740
- }
1741
- @include mixins.media-xl {
1742
- align-items: flex-end;
1743
- }
1744
- }
1745
- }
1746
- }
1747
- }
1748
- }
1749
-
1750
- &__results__cards--list {
1751
- @include mixins.media-sm {
1752
- grid-template-columns: repeat(1, 1fr);
1753
- }
1754
-
1755
- @include mixins.media-lg {
1756
- grid-template-columns: repeat(1, 1fr);
1757
- }
1758
-
1759
- .search__result-card {
1760
- &__wrapper {
1761
- @include mixins.media-sm {
1762
- flex-direction: row;
1763
- justify-content: flex-start;
1764
- }
1765
-
1766
- @include mixins.media-lg {
1767
- flex-direction: row;
1768
- }
1769
- }
1770
-
1771
- &__img-wrapper {
1772
- @include mixins.media-sm {
1773
- min-width: 175px;
1774
- width: 175px;
1775
- height: 175px;
1776
- min-height: 100%;
1777
- overflow: hidden;
1778
- }
1779
-
1780
- @include mixins.media-lg {
1781
- min-width: 175px;
1782
- height: 175px;
1783
- min-height: 100%;
1784
- }
1785
- }
1786
-
1787
- &__price {
1788
- &__wrapper {
1789
- @include mixins.media-sm {
1790
- position: absolute;
1791
- bottom: auto;
1792
- right: auto;
1793
- top: 0px;
1794
- left: 50%;
1795
- transform: translateX(-50%);
1796
- min-width: 96px;
1797
- border-radius: 0 0 5px 5px;
1798
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
1799
- }
1800
- }
1801
- }
1802
-
1803
- &__content {
1804
- @include mixins.media-sm {
1805
- flex-direction: row;
1806
- width: 100%;
1807
- padding: 15px 20px;
1808
- height: auto;
1809
- }
1810
-
1811
- @include mixins.media-lg {
1812
- width: 100%;
1813
- padding: 15px 20px;
1814
- }
1815
- }
1816
-
1817
- &__header {
1818
- &__wrapper {
1819
- @include mixins.media-sm {
1820
- display: flex;
1821
- flex-direction: row-reverse;
1822
- align-items: center;
1823
- gap: 10px;
1824
- }
1825
-
1826
- @include mixins.media-lg {
1827
- flex-direction: row-reverse;
1828
- align-items: center;
1829
- }
1830
-
1831
- .rating {
1832
- margin-top: 2px;
1833
- }
1834
- }
1835
- }
1836
-
1837
- &__description {
1838
- display: none;
1839
- }
1840
-
1841
- &__footer {
1842
- @include mixins.media-sm {
1843
- justify-content: flex-end;
1844
- align-items: flex-end;
1845
-
1846
- .cta {
1847
- width: auto;
1848
- }
1849
- }
1850
- }
1851
-
1852
- &__allotment {
1853
- &__img-wrapper {
1854
- display: none;
1855
- }
1856
-
1857
- &__description {
1858
- display: none;
1859
- }
1860
- }
1861
- }
1862
- }
1863
- }
1864
-
1865
- .star-rating-filter {
1866
- display: flex;
1867
- justify-content: flex-end;
1868
- flex-direction: row-reverse;
1869
- gap: 15px;
1870
- font-size: 24px;
1871
- cursor: pointer;
1872
-
1873
- .star {
1874
- color: var(--tide-booking-star-rating-color);
1875
- /* unfilled */
1876
- transition: color 0.2s;
1877
- }
1878
-
1879
- .star.filled {
1880
- color: var(--tide-booking-star-rating-color--filled);
1881
- /* filled gold */
1882
- }
1883
-
1884
- .star:hover,
1885
- .star:hover ~ .star {
1886
- color: var(--tide-booking-star-rating-color--hover);
1887
- }
1888
- }
1889
-
1890
- .search__filter-toggle-label {
1891
- vertical-align: middle;
1892
- font-size: 0.95rem;
1893
- }
1894
-
1895
- .mobile-filters-button {
1896
- display: flex;
1897
- justify-content: center;
1898
- align-items: center;
1899
- flex: 1;
1900
- max-width: 7rem;
1901
- margin-right: 0.5rem;
1902
- height: 3.5rem;
1903
- color: grey;
1904
- border: 1px solid green;
1905
- border-radius: 3px;
1906
- font-size: 16px;
1907
- cursor: pointer;
1908
-
1909
- @include mixins.media-lg {
1910
- display: none;
1911
- }
1912
-
1913
- &__icon {
1914
- fill: red;
1915
- margin-right: 0.5rem;
1916
- }
1917
- }
1918
-
1919
- .flight-path {
1920
- display: flex;
1921
- align-items: center;
1922
- justify-content: center;
1923
- width: 100%;
1924
-
1925
- @media (min-width: 400px) {
1926
- width: 6rem;
1927
- }
1928
-
1929
- &__point {
1930
- width: 7px;
1931
- height: 7px;
1932
-
1933
- border-radius: 50%;
1934
- border: 1px solid red;
1935
- background: wh;
1936
-
1937
- &--start,
1938
- &--end {
1939
- background-color: white;
1940
- min-width: 7px;
1941
- }
1942
- }
1943
-
1944
- &__line {
1945
- display: flex;
1946
- align-items: center;
1947
- flex-grow: 1;
1948
- position: relative;
1949
- height: 1px;
1950
- background: red;
1951
-
1952
- gap: 1.3rem;
1953
-
1954
- &::before,
1955
- &::after {
1956
- content: '';
1957
- flex-grow: 1;
1958
- height: 1px;
1959
- background: red;
1960
- }
1961
- }
1962
-
1963
- &__stop {
1964
- width: 9px;
1965
- height: 9px;
1966
-
1967
- border-radius: 50%;
1968
- background: red;
1969
- border: 2px solid white;
1970
-
1971
- position: relative;
1972
- }
1973
- }
1974
-
1975
- .has-overlay {
1976
- overflow: hidden;
1977
- }
1978
-
1979
- .spinner {
1980
- &__container {
1981
- margin: 1rem auto;
1982
- display: flex;
1983
- flex-direction: column;
1984
- align-items: center;
1985
- gap: 1rem;
1986
- }
1987
-
1988
- &__icon {
1989
- border: 2px solid rgb(244, 249, 250, 0.2);
1990
- border-top: 2px solid #3aafa9;
1991
- border-radius: 50%;
1992
- width: 24px;
1993
- height: 24px;
1994
- animation: spin 0.6s linear infinite;
1995
- display: inline-block;
1996
- vertical-align: middle;
1997
- margin-right: 6px;
1998
- }
1999
-
2000
- &__label {
2001
- text-align: center;
2002
- }
2003
- }
2004
-
2005
- @keyframes spin {
2006
- to {
2007
- transform: rotate(360deg);
2008
- }
2009
- }
1
+ @use '../components/mixins' as mixins;
2
+
3
+ * {
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ .search {
8
+ background: var(--tide-booking-search-results-background);
9
+
10
+ &__bg {
11
+ background: var(--tide-booking-search-results-background);
12
+ }
13
+
14
+ &__container {
15
+ position: relative;
16
+ display: flex;
17
+ @include mixins.container-wide();
18
+ padding-top: 30px;
19
+ padding-bottom: 60px;
20
+
21
+ @include mixins.media-sm {
22
+ padding-top: 30px;
23
+ padding-bottom: 60px;
24
+ }
25
+
26
+ @include mixins.media-md {
27
+ gap: 30px;
28
+ padding-top: 30px;
29
+ padding-bottom: 60px;
30
+ }
31
+
32
+ @include mixins.media-lg {
33
+ gap: 60px;
34
+ padding-top: 60px;
35
+ }
36
+ }
37
+
38
+ &__filters {
39
+ position: fixed;
40
+ top: 0px;
41
+ left: 0px;
42
+ display: block;
43
+ max-width: 360px;
44
+ width: 100%;
45
+ background-color: var(--tide-booking-search-filter-background);
46
+ border-radius: var(--tide-booking-search-filter-border-radius);
47
+ border: var(--tide-booking-search-filter-border);
48
+ height: 100%;
49
+ margin-bottom: 20px;
50
+ margin-left: 0;
51
+ grid-column: span 12;
52
+ transform: translateX(-100vw);
53
+ overflow: hidden;
54
+ transition: transform 0.35s ease;
55
+
56
+ @include mixins.media-md {
57
+ grid-column: auto;
58
+ }
59
+
60
+ @include mixins.media-lg {
61
+ position: relative;
62
+ display: block;
63
+ max-width: 360px;
64
+ width: 360px;
65
+ height: auto;
66
+ margin: 0;
67
+ border: none;
68
+ box-shadow: none;
69
+ transform: translateX(0);
70
+ pointer-events: auto;
71
+ padding-bottom: 20px;
72
+ }
73
+
74
+ // ::after {
75
+ // content: '';
76
+ // display: block;
77
+ // position: fixed;
78
+ // top: 0;
79
+ // left: 0;
80
+ // width: 100vw;
81
+ // height: 100vh;
82
+ // background: rgba(0, 0, 0, 0.5);
83
+ // z-index: 100009;
84
+ // }
85
+
86
+ &__group-container {
87
+ position: relative;
88
+ display: flex;
89
+ flex-direction: column;
90
+ height: calc(100% - 47px);
91
+ overflow-y: auto;
92
+ overflow-x: hidden;
93
+ @extend %scrollbar-thin;
94
+
95
+ @include mixins.media-lg {
96
+ height: auto;
97
+ overflow: visible;
98
+ }
99
+
100
+ .search__filter-group:last-child {
101
+ margin-bottom: 20px;
102
+ }
103
+ }
104
+
105
+ &__actions {
106
+ position: sticky;
107
+ bottom: 0;
108
+ left: 0;
109
+ display: flex;
110
+ justify-content: space-between;
111
+ align-items: center;
112
+ gap: 15px;
113
+ padding: 15px 20px;
114
+ background-color: white;
115
+ margin-top: auto;
116
+
117
+ @include mixins.media-lg {
118
+ display: none;
119
+ }
120
+ }
121
+
122
+ &--background {
123
+ background-color: rgba(0, 0, 0, 0.7);
124
+ height: 100%;
125
+ width: 100%;
126
+ position: fixed;
127
+
128
+ @include mixins.media-lg {
129
+ display: none;
130
+ position: relative;
131
+ }
132
+ }
133
+
134
+ &--close {
135
+ position: fixed;
136
+ z-index: 100020;
137
+ top: 30px;
138
+ right: 30px;
139
+ display: none;
140
+ background: none;
141
+ border: none;
142
+ color: white;
143
+ cursor: pointer;
144
+ }
145
+
146
+ &--modal {
147
+ display: block;
148
+ position: fixed;
149
+ top: 0;
150
+ left: 0;
151
+ width: 100vw;
152
+ height: 100vh;
153
+ z-index: 100009;
154
+
155
+ // Initial hidden state
156
+ opacity: 0;
157
+ pointer-events: none;
158
+ transition: left 0.35s ease, opacity 0.25s ease;
159
+
160
+ @include mixins.media-lg {
161
+ position: relative;
162
+ left: 0px;
163
+ width: auto;
164
+ height: auto;
165
+ background: transparent;
166
+ opacity: 1;
167
+ z-index: 1;
168
+ }
169
+
170
+ // When modal is open
171
+ &.is-open {
172
+ left: 0px;
173
+ opacity: 1;
174
+ pointer-events: auto;
175
+
176
+ .search__filters--close {
177
+ display: block;
178
+ }
179
+
180
+ .search__filters {
181
+ position: relative;
182
+ display: block;
183
+ max-width: 360px;
184
+ width: 360px;
185
+ height: 100%;
186
+ margin: 0;
187
+ border: none;
188
+ box-shadow: none;
189
+ border-top-left-radius: 0px;
190
+ border-bottom-left-radius: 0px;
191
+ transform: translateX(0);
192
+ pointer-events: auto;
193
+ }
194
+ }
195
+ }
196
+ }
197
+
198
+ &__filter {
199
+ &-group {
200
+ padding: 0 20px;
201
+ }
202
+
203
+ &-row {
204
+ display: flex;
205
+ align-items: center;
206
+ justify-content: space-between;
207
+ margin-top: 15px;
208
+
209
+ &-flex-title {
210
+ display: flex;
211
+ align-items: center;
212
+ gap: 15px;
213
+ }
214
+
215
+ &-icon {
216
+ fill: hotpink;
217
+ }
218
+
219
+ &--underline {
220
+ border-bottom: var(--tide-booking-search-filter-group-title-text-border);
221
+ margin-bottom: 8px;
222
+ cursor: pointer;
223
+ }
224
+
225
+ &--checkmark {
226
+ margin-top: 5px;
227
+
228
+ @include media-lg {
229
+ margin-top: 15px;
230
+ }
231
+ }
232
+ }
233
+
234
+ &__header {
235
+ padding: 0 20px;
236
+ margin-bottom: 15px;
237
+ margin-top: 0;
238
+ padding-top: 15px;
239
+ }
240
+
241
+ &-link {
242
+ color: orangered;
243
+ transition: all 0.3s;
244
+ cursor: pointer;
245
+ text-decoration: underline;
246
+ margin-top: 136px;
247
+
248
+ &:hover {
249
+ color: green;
250
+ }
251
+ }
252
+
253
+ &-chevron-icon {
254
+ transition: transform 0.3s ease;
255
+ transform: rotate(180deg);
256
+ margin-top: 5px;
257
+
258
+ &--flipped {
259
+ transform: rotate(0);
260
+ }
261
+ }
262
+
263
+ &-small-title {
264
+ font-size: 14px;
265
+ font-weight: 400;
266
+ margin: 0 auto;
267
+ }
268
+
269
+ &-medium-title {
270
+ font-size: 16px;
271
+ font-weight: 700;
272
+ margin: 5px 0;
273
+
274
+ &-wrapper {
275
+ margin-top: 12.5px;
276
+ margin-bottom: 2.5px;
277
+ }
278
+ }
279
+
280
+ &-large-title {
281
+ font-size: 18px;
282
+ font-weight: var(--tide-booking-search-filter-group-title-text-font-weight);
283
+ margin: 5px 0;
284
+ }
285
+
286
+ &-reset {
287
+ color: var(--tide-booking-search-reset-color);
288
+ font-size: 15px;
289
+ font-weight: var(--tide-booking-search-reset-font-weight);
290
+ text-decoration: var(--tide-booking-search-reset-text-decoration);
291
+ cursor: pointer;
292
+ }
293
+
294
+ // &-facet {
295
+ // color: variables.$text-color;
296
+ // }
297
+
298
+ // &-price {
299
+ // font-size: variables.$font-size-body--small;
300
+ // color: variables.$secondary-color;
301
+ // margin-bottom: 0;
302
+ // margin-top: 0;
303
+ // min-width: 88px;
304
+ // text-align: end;
305
+ // }
306
+
307
+ // &-button {
308
+ // width: 100%;
309
+ // padding: 1rem 0;
310
+ // background: transparent;
311
+ // border: 1px solid variables.$secondary-color;
312
+ // color: variables.$secondary-color;
313
+ // border-radius: 3px;
314
+ // margin-top: 2rem;
315
+ // transition: all 0.2s ease-in-out;
316
+ // cursor: pointer;
317
+
318
+ // &:hover {
319
+ // background: variables.$secondary-color;
320
+ // color: variables.$white;
321
+ // }
322
+ // }
323
+
324
+ &__image {
325
+ position: absolute;
326
+ top: 50%;
327
+ left: 50%;
328
+ width: 100%;
329
+ height: 100%;
330
+ transform: translate(-50%, -50%);
331
+ z-index: -1;
332
+
333
+ &__wrapper {
334
+ position: relative;
335
+ width: 100%;
336
+ height: 200px;
337
+ max-height: 200px;
338
+ padding: 20px;
339
+ overflow: hidden;
340
+ border-radius: var(--tide-booking-search-filter-img-border-radius);
341
+ display: flex;
342
+ flex-direction: column;
343
+ align-items: center;
344
+ justify-content: flex-end;
345
+ }
346
+
347
+ &__text {
348
+ color: var(--tide-booking-search-filter-img-text-color);
349
+ font-weight: var(--tide-booking-search-filter-img-text-font-weight);
350
+ font-family: var(--tide-booking-search-filter-img-text-font-family);
351
+ }
352
+
353
+ &__title {
354
+ font-size: 20px;
355
+ font-weight: var(--tide-booking-search-filter-img-title-font-weight);
356
+ margin: 5px 0;
357
+ color: var(--tide-booking-search-filter-img-title-color);
358
+ text-align: center;
359
+ font-family: var(--tide-booking-search-filter-img-title-font-family);
360
+ }
361
+ }
362
+
363
+ &__prices {
364
+ padding: 0 20px;
365
+ display: flex;
366
+ flex-direction: column;
367
+
368
+ &__wrapper {
369
+ padding: 20px 0px;
370
+ display: flex;
371
+ flex-direction: column;
372
+ align-items: center;
373
+ p {
374
+ margin: 0px;
375
+ line-height: 1.5;
376
+ }
377
+ }
378
+
379
+ &--amount {
380
+ font-family: var(--tide-booking-search-filter-price-amount-font-family);
381
+ font-size: 30px;
382
+ font-weight: var(--tide-booking-search-filter-price-amount-font-weight);
383
+ margin: 0;
384
+ color: var(--tide-booking-search-filter-price-amount-color);
385
+
386
+ p {
387
+ font-family: var(--tide-booking-search-filter-price-text-font-family);
388
+ font-weight: var(--tide-booking-search-filter-price-text-font-weight);
389
+ text-align: center;
390
+ color: var(--tide-booking-search-filter-price-text-color);
391
+ margin: 0px;
392
+
393
+ strong {
394
+ font-weight: var(--tide-booking-search-filter-price-total-font-weight);
395
+ color: var(--tide-booking-search-filter-price-total-color);
396
+ }
397
+ }
398
+ }
399
+ }
400
+
401
+ &__itinerary {
402
+ margin-top: 30px;
403
+ padding: 0 20px;
404
+ padding-bottom: 30px;
405
+ display: flex;
406
+ flex-direction: column;
407
+ gap: 15px;
408
+
409
+ p {
410
+ margin: 0px;
411
+ font-family: var(--tide-booking-search-itinerary-filter-title-font-family);
412
+ font-weight: var(--tide-booking-search-itinerary-filter-title-font-weight);
413
+ color: var(--tide-booking-search-itinerary-filter-title-color);
414
+ }
415
+
416
+ &__country {
417
+ padding: 15px 20px;
418
+ box-shadow: var(--tide-booking-search-itinerary-filter-country-box-shadow);
419
+ display: flex;
420
+ align-items: center;
421
+ gap: 20px;
422
+ border-radius: var(--tide-booking-search-itinerary-filter-country-border-radius);
423
+ border: var(--tide-booking-search-itinerary-filter-country-border);
424
+ background: var(--tide-booking-search-itinerary-filter-country-background);
425
+
426
+ &-icon {
427
+ display: flex;
428
+ min-width: 30px;
429
+ max-width: 30px;
430
+ align-items: center;
431
+ justify-content: center;
432
+ color: var(--tide-booking-search-itinerary-filter-country-icon-color);
433
+ }
434
+
435
+ &-content {
436
+ h4 {
437
+ font-family: var(--tide-booking-search-itinerary-filter-country-title-font-family);
438
+ margin-bottom: 3px;
439
+ font-size: 20px;
440
+ font-weight: var(--tide-booking-search-itinerary-filter-country-title-font-weight);
441
+ color: var(--tide-booking-search-itinerary-filter-country-title-color);
442
+ }
443
+
444
+ p {
445
+ margin: 0px;
446
+ font-family: var(--tide-booking-search-itinerary-filter-country-text-font-family);
447
+ font-weight: var(--tide-booking-search-itinerary-filter-country-text-font-weight);
448
+ color: var(--tide-booking-search-itinerary-filter-country-text-color);
449
+
450
+ strong {
451
+ font-weight: var(--tide-booking-search-itinerary-filter-country-text-bold-font-weight);
452
+ color: var(--tide-booking-search-itinerary-filter-country-text-bold-color);
453
+ }
454
+ }
455
+ }
456
+ }
457
+
458
+ &__transport {
459
+ position: relative;
460
+ padding-left: 20px;
461
+ background: var(--tide-booking-search-itinerary-filter-transport-background);
462
+ border-radius: var(--tide-booking-search-itinerary-filter-transport-border-radius);
463
+ border: var(--tide-booking-search-itinerary-filter-transport-border);
464
+ box-shadow: var(--tide-booking-search-itinerary-filter-transport-box-shadow);
465
+
466
+ &-timeline {
467
+ height: 100%;
468
+ text-align: center;
469
+ content: ' ';
470
+ z-index: 1;
471
+ display: block;
472
+ top: 0;
473
+ left: 53px;
474
+ position: absolute;
475
+ width: 45px;
476
+ min-width: 45px;
477
+ max-width: 45px;
478
+
479
+ &-line {
480
+ width: 1px;
481
+ height: 100%;
482
+ margin: 0 auto;
483
+ border-left: var(--tide-booking-search-itinerary-filter-transport-timeline);
484
+ }
485
+ }
486
+
487
+ &-item {
488
+ display: flex;
489
+ align-items: center;
490
+ gap: 15px;
491
+ position: relative;
492
+ z-index: 2;
493
+ }
494
+
495
+ &-date {
496
+ p {
497
+ margin: 0px;
498
+ color: var(--tide-booking-search-itinerary-filter-transport-date-month-color);
499
+ font-weight: var(--tide-booking-search-itinerary-filter-transport-date-month-font-weight);
500
+ }
501
+
502
+ &-date {
503
+ font-size: 24px;
504
+
505
+ strong {
506
+ font-weight: var(--tide-booking-search-itinerary-filter-transport-date-day-font-weight);
507
+ color: var(--tide-booking-search-itinerary-filter-transport-date-day-color);
508
+ }
509
+ }
510
+ }
511
+
512
+ &-badge {
513
+ width: 30px;
514
+ min-width: 30px;
515
+ max-width: 30px;
516
+ height: 30px;
517
+ min-height: 30px;
518
+ max-height: 30px;
519
+ background-color: var(--tide-booking-search-itinerary-filter-transport-badge-icon-background-color);
520
+ border-radius: 50%;
521
+ display: flex;
522
+ align-items: center;
523
+ justify-content: center;
524
+ color: var(--tide-booking-search-itinerary-filter-transport-badge-icon-color);
525
+ }
526
+
527
+ &-details {
528
+ display: flex;
529
+ flex-direction: column;
530
+ gap: 15px;
531
+
532
+ h6 {
533
+ margin: 0px;
534
+ font-size: 18px;
535
+ font-weight: var(--tide-booking-search-itinerary-filter-transport-title-font-weight);
536
+ color: var(--tide-booking-search-itinerary-filter-transport-title-color);
537
+ }
538
+
539
+ p {
540
+ margin: 0px;
541
+ font-size: 14px;
542
+ }
543
+
544
+ &-plane {
545
+ font-size: 14px;
546
+ display: flex;
547
+ align-items: center;
548
+ gap: 3px;
549
+
550
+ svg {
551
+ fill: var(--tide-booking-search-itinerary-filter-transport-plane-icon-color);
552
+ }
553
+
554
+ span {
555
+ display: flex;
556
+ align-items: center;
557
+ gap: 3px;
558
+ }
559
+
560
+ strong {
561
+ font-weight: var(--tide-booking-search-itinerary-filter-transport-plane-font-weight);
562
+ color: var(--tide-booking-search-itinerary-filter-transport-plane-color);
563
+ }
564
+ }
565
+
566
+ &-time {
567
+ span {
568
+ display: flex;
569
+ align-items: center;
570
+ }
571
+ }
572
+ }
573
+ }
574
+
575
+ &__segments {
576
+ position: relative;
577
+ display: flex;
578
+ flex-direction: column;
579
+ gap: 0;
580
+ gap: 15px;
581
+ padding: 15px 20px;
582
+ background: var(--tide-booking-search-itinerary-filter-segments-background);
583
+ box-shadow: var(--tide-booking-search-itinerary-filter-segments-box-shadow);
584
+ border-radius: var(--tide-booking-search-itinerary-filter-segments-border-radius);
585
+ border: var(--tide-booking-search-itinerary-filter-segments-border);
586
+
587
+ &__wrapper {
588
+ position: relative;
589
+ display: flex;
590
+ flex-direction: column;
591
+ gap: 30px;
592
+ }
593
+
594
+ &-timeline {
595
+ height: 100%;
596
+ text-align: center;
597
+ content: ' ';
598
+ z-index: 1;
599
+ display: block;
600
+ top: 0;
601
+ left: 33px;
602
+ position: absolute;
603
+ width: 45px;
604
+ min-width: 45px;
605
+ max-width: 45px;
606
+
607
+ &-line {
608
+ width: 1px;
609
+ height: 100%;
610
+ margin: 0 auto;
611
+ border-left: var(--tide-booking-search-itinerary-filter-segment-timeline);
612
+ }
613
+ }
614
+ }
615
+
616
+ &__segment {
617
+ position: relative;
618
+
619
+ &-item {
620
+ display: flex;
621
+ align-items: center;
622
+ gap: 15px;
623
+ position: relative;
624
+ z-index: 2;
625
+
626
+ &--start {
627
+ align-items: flex-start;
628
+ }
629
+ }
630
+
631
+ &-badge {
632
+ width: 30px;
633
+ min-width: 30px;
634
+ max-width: 30px;
635
+ height: 30px;
636
+ min-height: 30px;
637
+ max-height: 30px;
638
+ background: var(--tide-booking-search-itinerary-filter-segment-badge-icon-background-color);
639
+ outline: 3px solid var(--tide-booking-search-itinerary-filter-segments-background);
640
+ border-radius: 50%;
641
+ display: flex;
642
+ align-items: center;
643
+ justify-content: center;
644
+ color: var(--tide-booking-search-itinerary-filter-segment-badge-icon-color);
645
+
646
+ &--secondary {
647
+ background: var(--tide-booking-search-itinerary-filter-segment-badge--secondary-icon-background-color);
648
+ color: var(--tide-booking-search-itinerary-filter-segment-badge--secondary-icon-color);
649
+ }
650
+ }
651
+
652
+ &-date {
653
+ p {
654
+ margin: 0px;
655
+ color: var(--tide-booking-search-itinerary-filter-segment-date-month-color);
656
+ font-weight: var(--tide-booking-search-itinerary-filter-segment-date-month-font-weight);
657
+ }
658
+
659
+ &-date {
660
+ font-size: 24px;
661
+
662
+ strong {
663
+ font-weight: var(--tide-booking-search-itinerary-filter-segment-date-day-font-weight);
664
+ color: var(--tide-booking-search-itinerary-filter-segment-date-day-color);
665
+ }
666
+ }
667
+ }
668
+
669
+ &-nights {
670
+ display: flex;
671
+ align-items: center;
672
+ flex-flow: row nowrap;
673
+ max-width: 26px;
674
+
675
+ svg {
676
+ min-width: 16px;
677
+ min-height: 16px;
678
+ }
679
+ }
680
+
681
+ &-details {
682
+ display: flex;
683
+ flex-direction: column;
684
+ gap: 10px;
685
+
686
+ h6 {
687
+ margin: 0;
688
+ font-size: 18px;
689
+ font-weight: var(--tide-booking-search-itinerary-filter-segment-title-font-weight);
690
+ color: var(--tide-booking-search-itinerary-filter-segment-title-color);
691
+ }
692
+
693
+ p {
694
+ margin: 0px;
695
+ line-height: 1.2;
696
+ font-weight: var(--tide-booking-search-itinerary-filter-segment-text-font-weight);
697
+ color: var(--tide-booking-search-itinerary-filter-segment-text-color);
698
+ }
699
+
700
+ .rating {
701
+ display: flex;
702
+ align-items: center;
703
+ gap: 3px;
704
+
705
+ svg {
706
+ fill: var(--tide-booking-search-hotel-card-starrating-color);
707
+ }
708
+ }
709
+ }
710
+ }
711
+ }
712
+ }
713
+
714
+ &__results {
715
+ display: flex;
716
+ flex-direction: column;
717
+ width: 100%;
718
+ grid-column: span 12;
719
+
720
+ @include mixins.media-md {
721
+ grid-column: auto;
722
+ }
723
+
724
+ &__cards {
725
+ display: grid;
726
+ gap: 15px;
727
+ grid-template-columns: 1fr;
728
+ grid-template-rows: repeat(1, 1fr);
729
+
730
+ @include mixins.media-sm {
731
+ grid-template-columns: repeat(2, 1fr);
732
+ }
733
+
734
+ @include mixins.media-md {
735
+ grid-template-columns: repeat(3, 1fr);
736
+ }
737
+
738
+ @include mixins.media-lg {
739
+ grid-template-columns: repeat(2, 1fr);
740
+ }
741
+
742
+ @include mixins.media-xgl {
743
+ grid-template-columns: repeat(3, 1fr);
744
+ }
745
+ }
746
+
747
+ &__wrapper {
748
+ display: flex;
749
+ flex-direction: column;
750
+ gap: 15px;
751
+
752
+ .search__results__label {
753
+ &:first-child {
754
+ margin-top: 15px;
755
+ }
756
+ }
757
+ }
758
+
759
+ &__label {
760
+ display: grid;
761
+ grid-template-columns: 50px 1fr;
762
+ grid-template-rows: 50px;
763
+ align-items: center;
764
+ border-radius: var(--tide-booking-search-results-label-border-radius);
765
+ overflow: hidden;
766
+ margin-top: 30px;
767
+
768
+ &__date {
769
+ display: flex;
770
+ flex-flow: column;
771
+ align-items: center;
772
+ justify-content: center;
773
+ height: 100%;
774
+
775
+ background: var(--tide-booking-search-results-label-date-background);
776
+ border: var(--tide-booking-search-results-label-date-border);
777
+
778
+ p {
779
+ margin: 0px;
780
+ font-weight: var(--tide-booking-search-results-label-date-month-font-weight);
781
+ color: var(--tide-booking-search-results-label-date-month-color);
782
+ }
783
+
784
+ &-date {
785
+ font-size: 24px;
786
+ font-weight: var(--tide-booking-search-results-label-date-day-font-weight);
787
+ color: var(--tide-booking-search-results-label-date-day-color);
788
+ }
789
+ }
790
+
791
+ &__text {
792
+ border: var(--tide-booking-search-results-label-border);
793
+ border-left: none;
794
+ height: 50px;
795
+ display: flex;
796
+ align-items: center;
797
+ padding-left: 15px;
798
+
799
+ h3 {
800
+ display: flex;
801
+ align-items: center;
802
+ gap: 3px;
803
+ margin: 0px;
804
+ color: var(--tide-booking-search-results-label-title-color);
805
+ font-weight: var(--tide-booking-search-results-label-font-weight);
806
+
807
+ strong {
808
+ font-weight: var(--tide-booking-search-results-label-title-bold-font-weight);
809
+ color: var(--tide-booking-search-results-label-title-bold-color);
810
+ }
811
+ }
812
+ }
813
+
814
+ &--secondary {
815
+ .search__results__label__date {
816
+ background: var(--tide-booking-search-results-label-date-background--secondary);
817
+ border: var(--tide-booking-search-results-label-date-border--secondary);
818
+ }
819
+ }
820
+ }
821
+
822
+ &__options {
823
+ display: flex;
824
+ align-items: center;
825
+ justify-content: space-between;
826
+ gap: 15px;
827
+ padding: 15px 30px;
828
+ box-shadow: var(--tide-booking-search-more-options-box-shadow);
829
+ border: var(--tide-booking-search-more-options-border);
830
+ background-color: var(--tide-booking-search-more-options-background);
831
+ border-radius: var(--tide-booking-search-more-options-border-radius);
832
+
833
+ p {
834
+ margin: 0px;
835
+ color: var(--tide-booking-search-more-options-color);
836
+ }
837
+ }
838
+
839
+ &__tab-views {
840
+ display: none;
841
+ align-items: center;
842
+
843
+ @include mixins.media-sm {
844
+ display: flex;
845
+ }
846
+ }
847
+
848
+ &__tab-view {
849
+ width: 100%;
850
+ display: flex;
851
+ align-items: center;
852
+ gap: 5px;
853
+ font-size: 18px;
854
+ color: var(--tide-booking-search-tab-view-color);
855
+ background: var(--tide-booking-search-tab-view-background);
856
+ border: none;
857
+ border-bottom: var(--tide-booking-search-tab-view-border);
858
+ cursor: pointer;
859
+ outline: none;
860
+ padding: 10px 20px;
861
+ transition: all 0.3s ease;
862
+
863
+ &:hover {
864
+ color: var(--tide-booking-search-tab-view-hover-color);
865
+ background: var(--tide-booking-search-tab-view-hover-background);
866
+ border-bottom: var(--tide-booking-search-tab-view-hover-border);
867
+ }
868
+
869
+ &--active {
870
+ color: var(--tide-booking-search-tab-view-active-color);
871
+ background: var(--tide-booking-search-tab-view-active-background);
872
+ border-bottom: var(--tide-booking-search-tab-view-active-border);
873
+ }
874
+ }
875
+
876
+ &__actions {
877
+ display: flex;
878
+ align-items: center;
879
+ gap: 16px;
880
+ }
881
+ }
882
+
883
+ &__result {
884
+ display: flex;
885
+ flex-wrap: wrap;
886
+ gap: 15px;
887
+ margin: 0;
888
+ margin-bottom: 20px;
889
+
890
+ &--flight {
891
+ display: grid;
892
+ gap: 0;
893
+ grid-template-columns: 1fr;
894
+ margin: 0 0 30px;
895
+
896
+ @include mixins.media-md {
897
+ grid-template-rows: repeat(1, 1fr);
898
+ }
899
+
900
+ @include mixins.media-lg {
901
+ grid-template-columns: 1fr 257px;
902
+ }
903
+ }
904
+
905
+ &-row {
906
+ display: flex;
907
+ align-items: center;
908
+ justify-content: space-between;
909
+ margin-bottom: 12px;
910
+ margin-top: 18px;
911
+
912
+ @include mixins.media-sm {
913
+ margin-bottom: 24px;
914
+ }
915
+
916
+ &-text {
917
+ font-size: 16px;
918
+ color: gray;
919
+ margin: 0;
920
+ }
921
+
922
+ .cta--filter {
923
+ position: relative;
924
+ top: 0px;
925
+ left: 0px;
926
+ }
927
+
928
+ // &-button {
929
+ // width: 13.5rem;
930
+ // height: 3.5rem;
931
+ // display: flex;
932
+ // justify-content: space-between;
933
+ // align-items: center;
934
+ // padding: 0 1rem;
935
+ // border: 1px solid blue;
936
+ // border-radius: 3px;
937
+ // color: blue;
938
+ // cursor: pointer;
939
+ // transition: all 0.2s ease-in-out;
940
+
941
+ // &:hover {
942
+ // background: red;
943
+ // color: yellow;
944
+
945
+ // .search__result-row-icon {
946
+ // fill: white;
947
+ // }
948
+ // }
949
+ // }
950
+
951
+ &-icon {
952
+ fill: red;
953
+ }
954
+
955
+ .dropdown {
956
+ &:after {
957
+ display: none;
958
+ }
959
+
960
+ &__label {
961
+ display: none;
962
+
963
+ @include mixins.media-sm {
964
+ display: block;
965
+ }
966
+ }
967
+
968
+ &__input {
969
+ width: auto;
970
+ }
971
+
972
+ &-toggle {
973
+ min-width: 165px;
974
+ }
975
+ }
976
+ }
977
+
978
+ &-card {
979
+ // flex-basis: 100%;
980
+
981
+ // @include mixins.media-xs {
982
+ // flex-basis: calc(50% - 8px);
983
+ // }
984
+
985
+ // @include mixins.media-lg {
986
+ // flex: calc(33% - 8px) 0 0;
987
+ // }
988
+
989
+ &__wrapper {
990
+ height: 100%;
991
+ display: flex;
992
+ flex-direction: column;
993
+ justify-content: space-between;
994
+ align-items: stretch;
995
+ cursor: pointer;
996
+ border-radius: var(--tide-booking-search-hotel-card-border-radius);
997
+ overflow: hidden;
998
+ box-shadow: var(--tide-booking-search-hotel-card-box-shadow);
999
+ background-color: var(--tide-booking-search-hotel-card-background);
1000
+ transition: transform 0.3s ease-in-out;
1001
+
1002
+ &--custom {
1003
+ gap: 20px;
1004
+ .search__result-card__footer {
1005
+ padding: 20px;
1006
+ padding-top: 0px;
1007
+ }
1008
+ }
1009
+ }
1010
+
1011
+ &__img-wrapper {
1012
+ position: relative;
1013
+ width: 100%;
1014
+ height: 200px;
1015
+ overflow: hidden;
1016
+ background-color: #f5f5f5;
1017
+ }
1018
+
1019
+ &__img {
1020
+ width: 100%;
1021
+ height: 100%;
1022
+ object-fit: cover;
1023
+ }
1024
+
1025
+ &__price {
1026
+ font-family: var(--tide-booking-search-hotel-card-price-font-family);
1027
+ font-weight: var(--tide-booking-search-hotel-card-price-font-weight);
1028
+ color: var(--tide-booking-search-hotel-card-price-color);
1029
+ font-size: 20px;
1030
+
1031
+ &__wrapper {
1032
+ position: absolute;
1033
+ bottom: 0px;
1034
+ right: 0px;
1035
+ background: var(--tide-booking-search-hotel-card-price-background-color);
1036
+ display: flex;
1037
+ flex-flow: column nowrap;
1038
+ align-items: center;
1039
+ justify-content: center;
1040
+ gap: 5px;
1041
+ padding: 5px 20px;
1042
+ border-radius: 5px 0 0 0;
1043
+ box-shadow: var(--tide-booking-search-hotel-card-price-box-shadow);
1044
+ }
1045
+
1046
+ &__label {
1047
+ font-size: 12px;
1048
+ font-weight: var(--tide-booking-search-hotel-card-price-label-font-weight);
1049
+ color: var(--tide-booking-search-hotel-card-price-label-color);
1050
+ }
1051
+ }
1052
+
1053
+ &__content {
1054
+ display: flex;
1055
+ flex-direction: column;
1056
+ justify-content: space-between;
1057
+ gap: 20px;
1058
+ padding: 15px;
1059
+ height: calc(100% - 200px);
1060
+
1061
+ &__wrapper {
1062
+ display: flex;
1063
+ flex-direction: column;
1064
+ gap: 10px;
1065
+ }
1066
+ }
1067
+
1068
+ &__header {
1069
+ display: flex;
1070
+ justify-content: space-between;
1071
+ gap: 5px;
1072
+
1073
+ &__wrapper {
1074
+ .rating {
1075
+ display: flex;
1076
+ align-items: center;
1077
+ gap: 3px;
1078
+
1079
+ svg {
1080
+ fill: var(--tide-booking-search-hotel-card-starrating-color);
1081
+ }
1082
+ }
1083
+ }
1084
+ }
1085
+
1086
+ &__title {
1087
+ font-family: var(--tide-booking-search-hotel-card-title-font-family);
1088
+ font-weight: var(--tide-booking-search-hotel-card-title-font-weight);
1089
+ color: var(--tide-booking-search-hotel-card-title-color);
1090
+ margin-bottom: 0px;
1091
+ }
1092
+
1093
+ &__location {
1094
+ display: flex;
1095
+ justify-content: flex-start;
1096
+ align-items: flex-start;
1097
+ gap: 5px;
1098
+ font-size: 14px;
1099
+ line-height: 1.5;
1100
+ margin-bottom: 0px;
1101
+ color: var(--tide-booking-search-hotel-card-option-color);
1102
+ font-weight: var(--tide-booking-search-hotel-card-location-font-weight);
1103
+
1104
+ svg {
1105
+ width: 16px;
1106
+ height: 16px;
1107
+ margin-top: 3px;
1108
+ fill: var(--tide-booking-search-hotel-card-location-icon-color);
1109
+ }
1110
+ }
1111
+
1112
+ &__description {
1113
+ display: none;
1114
+ font-size: 16px;
1115
+ font-weight: var(--tide-booking-search-hotel-card-description-font-weight);
1116
+ line-height: 1.5;
1117
+ color: var(--tide-booking-search-hotel-card-description-color);
1118
+ margin-bottom: 0px;
1119
+ -webkit-line-clamp: 3;
1120
+ -webkit-box-orient: vertical;
1121
+ overflow: hidden;
1122
+ }
1123
+
1124
+ &__options {
1125
+ display: flex;
1126
+ flex-wrap: wrap;
1127
+ gap: 20px;
1128
+ margin-top: 10px;
1129
+ }
1130
+
1131
+ &__option {
1132
+ display: flex;
1133
+ align-items: center;
1134
+ flex-flow: nowrap;
1135
+ gap: 5px;
1136
+ font-weight: var(--tide-booking-search-hotel-card-option-font-weight);
1137
+ color: var(--tide-booking-search-hotel-card-option-color);
1138
+ font-size: 14px;
1139
+
1140
+ svg {
1141
+ width: 16px;
1142
+ height: 16px;
1143
+ fill: var(--tide-booking-search-hotel-card-option-icon-color);
1144
+ }
1145
+ }
1146
+
1147
+ &__footer {
1148
+ display: flex;
1149
+ justify-content: space-between;
1150
+ align-items: center;
1151
+ gap: 1rem;
1152
+ }
1153
+
1154
+ &__allotment {
1155
+ display: flex;
1156
+ justify-content: space-between;
1157
+ flex-direction: column;
1158
+ gap: 30px;
1159
+ background: var(--tide-booking-search-hotel-card-allotments-background);
1160
+ padding: 20px;
1161
+ border-radius: var(--tide-booking-search-hotel-card-allotments-border-radius);
1162
+ border: var(--tide-booking-search-hotel-card-allotments-border);
1163
+ box-shadow: var(--tide-booking-search-hotel-card-allotments-box-shadow);
1164
+
1165
+ @include mixins.media-sm {
1166
+ flex-direction: row;
1167
+ gap: 20px;
1168
+ }
1169
+
1170
+ &__container {
1171
+ display: grid;
1172
+ grid-template-rows: repeat(1, 1fr);
1173
+ gap: 15px;
1174
+ width: 100%;
1175
+
1176
+ @include mixins.media-xs {
1177
+ grid-template-columns: 1fr 0.8fr;
1178
+ }
1179
+ }
1180
+
1181
+ &__header {
1182
+ display: flex;
1183
+ flex-direction: column;
1184
+
1185
+ gap: 15px;
1186
+
1187
+ @include mixins.media-sm {
1188
+ justify-content: space-between;
1189
+ }
1190
+ }
1191
+
1192
+ &__img {
1193
+ width: 100%;
1194
+ height: 100%;
1195
+ object-fit: cover;
1196
+ }
1197
+
1198
+ &__img-wrapper {
1199
+ border-radius: 16px 16px 0 0;
1200
+ position: relative;
1201
+ width: 100%;
1202
+ height: 200px;
1203
+ overflow: hidden;
1204
+ background-color: #f5f5f5;
1205
+
1206
+ @include mixins.media-md {
1207
+ width: 40%;
1208
+ height: auto;
1209
+ border-radius: 16px 0 0 16px;
1210
+ }
1211
+
1212
+ @include mixins.media-lg {
1213
+ width: 100%;
1214
+ height: 200px;
1215
+ border-radius: 16px 16px 0 0;
1216
+ }
1217
+
1218
+ @include mixins.media-xl {
1219
+ width: 40%;
1220
+ height: auto;
1221
+ border-radius: 16px 0 0 16px;
1222
+ }
1223
+ }
1224
+
1225
+ &__title {
1226
+ font-weight: var(--tide-booking-search-hotel-card-allotments-title-font-weight);
1227
+ color: var(--tide-booking-search-hotel-card-allotments-title-color);
1228
+ margin: 0;
1229
+ display: flex;
1230
+ align-items: center;
1231
+ justify-content: space-between;
1232
+ gap: 5px;
1233
+ width: 100%;
1234
+
1235
+ @include mixins.media-sm {
1236
+ justify-content: flex-start;
1237
+ }
1238
+
1239
+ &__wrapper {
1240
+ display: flex;
1241
+ align-items: flex-start;
1242
+ flex-direction: column;
1243
+ gap: 10px;
1244
+ width: 100%;
1245
+
1246
+ @include mixins.media-sm {
1247
+ justify-content: space-between;
1248
+ }
1249
+ }
1250
+ }
1251
+
1252
+ &__badge {
1253
+ border: var(--tide-booking-search-hotel-card-allotments-badge-border);
1254
+ background: var(--tide-booking-search-hotel-card-allotments-badge-background);
1255
+ color: var(--tide-booking-search-hotel-card-allotments-badge-color);
1256
+ font-weight: var(--tide-booking-search-hotel-card-allotments-badge-font-weight);
1257
+ padding: 5px 10px;
1258
+ border-radius: var(--tide-booking-search-hotel-card-allotments-badge-border-radius);
1259
+ font-size: 12px;
1260
+ // display: flex;
1261
+ // align-items: center;
1262
+ // gap: 5px;
1263
+ white-space: nowrap;
1264
+ vertical-align: middle;
1265
+ line-height: 1.5;
1266
+
1267
+ svg {
1268
+ vertical-align: sub;
1269
+ margin-right: 3px;
1270
+ }
1271
+
1272
+ &--secondary {
1273
+ border: var(--tide-booking-search-hotel-card-allotments-badge--secondary-border);
1274
+ background: var(--tide-booking-search-hotel-card-allotments-badge--secondary-background);
1275
+ color: var(--tide-booking-search-hotel-card-allotments-badge--secondary-color);
1276
+ }
1277
+ }
1278
+
1279
+ &__info {
1280
+ display: flex;
1281
+ align-items: flex-end;
1282
+ gap: 10px;
1283
+ }
1284
+
1285
+ &__persons {
1286
+ margin: 0;
1287
+ display: flex;
1288
+ align-items: flex-end;
1289
+ gap: 5px;
1290
+ }
1291
+
1292
+ &__person {
1293
+ display: flex;
1294
+ align-items: flex-end;
1295
+ gap: 3px;
1296
+ font-weight: var(--tide-booking-search-hotel-card-allotments-persons-font-weight);
1297
+ color: var(--tide-booking-search-hotel-card-allotments-persons-color);
1298
+
1299
+ span {
1300
+ color: var(--tide-booking-search-hotel-card-allotments-persons-number-color);
1301
+ }
1302
+ }
1303
+
1304
+ &__wrapper {
1305
+ display: flex;
1306
+ flex-direction: column;
1307
+ gap: 15px;
1308
+ }
1309
+
1310
+ &__date {
1311
+ font-weight: var(--tide-booking-search-hotel-card-allotments-date-font-weight);
1312
+ color: var(--tide-booking-search-hotel-card-allotments-date-color);
1313
+ margin: 0;
1314
+ display: flex;
1315
+ align-items: center;
1316
+ gap: 5px;
1317
+ line-height: 1.5;
1318
+ }
1319
+
1320
+ &__footer {
1321
+ display: flex;
1322
+ flex-direction: column;
1323
+ justify-content: space-between;
1324
+ gap: 20px;
1325
+
1326
+ @include mixins.media-xs {
1327
+ flex-direction: row;
1328
+ }
1329
+
1330
+ @include mixins.media-sm {
1331
+ align-items: flex-end;
1332
+ flex-direction: column;
1333
+ }
1334
+
1335
+ @include mixins.media-lg {
1336
+ min-width: 288px;
1337
+ }
1338
+
1339
+ .cta {
1340
+ width: auto !important;
1341
+ }
1342
+ }
1343
+
1344
+ &__price {
1345
+ font-size: 20px;
1346
+ font-weight: var(--tide-booking-search-hotel-card-allotments-price-font-weight);
1347
+ color: var(--tide-booking-search-hotel-card-allotments-price-color);
1348
+ margin: 0;
1349
+
1350
+ &__wrapper {
1351
+ display: flex;
1352
+ flex-direction: column;
1353
+ align-items: flex-end;
1354
+ gap: 5px;
1355
+ min-width: 200px;
1356
+
1357
+ @include mixins.media-xs {
1358
+ align-items: flex-start;
1359
+ }
1360
+
1361
+ @include mixins.media-sm {
1362
+ align-items: flex-end;
1363
+ }
1364
+ }
1365
+
1366
+ &__info {
1367
+ text-align: right;
1368
+ line-height: 1.5;
1369
+
1370
+ @include mixins.media-xs {
1371
+ text-align: left;
1372
+ }
1373
+
1374
+ @include mixins.media-sm {
1375
+ text-align: right;
1376
+ }
1377
+ }
1378
+ }
1379
+ }
1380
+ }
1381
+ }
1382
+
1383
+ &__flight-card {
1384
+ padding: 0 8px 8px 8px;
1385
+ border-radius: 20px;
1386
+ background: white;
1387
+ border: 1px solid blue;
1388
+
1389
+ @include mixins.media-sm {
1390
+ padding: 0.75rem 2rem;
1391
+ }
1392
+
1393
+ @include mixins.media-lg {
1394
+ width: 100%;
1395
+ }
1396
+
1397
+ &-content {
1398
+ position: relative;
1399
+ display: grid;
1400
+ grid-template-columns: repeat(3, 1fr);
1401
+ gap: 1rem;
1402
+
1403
+ @include mixins.media-sm {
1404
+ /* grid-template-columns: repeat(3, 1fr); */
1405
+ grid-template-columns: repeat(5, 1fr);
1406
+ gap: 30px;
1407
+ }
1408
+
1409
+ &-radio {
1410
+ position: absolute;
1411
+ top: 50%;
1412
+ left: 15px;
1413
+
1414
+ &::before {
1415
+ content: '';
1416
+ position: absolute;
1417
+ top: 50%;
1418
+ left: -3rem; // Adjust this value to position the line correctly
1419
+ width: calc(100% + 0.5rem); // Adjust this value to extend the line to the left edge
1420
+ height: 1px; // Adjust the thickness of the line
1421
+ background-color: blue; // Line color
1422
+ transform: translateY(-50%);
1423
+ }
1424
+ }
1425
+
1426
+ &-top {
1427
+ border-bottom: 1px solid blue;
1428
+ padding: 1rem 0;
1429
+ }
1430
+
1431
+ &-bottom {
1432
+ margin-bottom: 0.25rem;
1433
+ margin-top: 1.5rem;
1434
+ }
1435
+
1436
+ &-icon {
1437
+ fill: red;
1438
+
1439
+ &--flipped {
1440
+ transform: rotate(180deg);
1441
+ }
1442
+ }
1443
+
1444
+ &-start {
1445
+ grid-column: span 2;
1446
+ display: flex;
1447
+ flex-direction: column;
1448
+ align-items: flex-end;
1449
+
1450
+ &-time {
1451
+ display: flex;
1452
+ align-items: center;
1453
+ gap: 1rem;
1454
+
1455
+ h5 {
1456
+ font-size: 18px;
1457
+ font-weight: 400;
1458
+ color: gray;
1459
+ margin: 0;
1460
+ }
1461
+ }
1462
+
1463
+ &-destination {
1464
+ color: black;
1465
+ font-size: 14px;
1466
+ margin-top: 0.5rem;
1467
+ margin-bottom: 0;
1468
+ text-align: end;
1469
+ }
1470
+
1471
+ &-date {
1472
+ font-size: 15px;
1473
+ color: gray;
1474
+ margin-top: 0;
1475
+ text-align: end;
1476
+ }
1477
+ }
1478
+
1479
+ &-stops {
1480
+ grid-column: span 1;
1481
+
1482
+ display: flex;
1483
+ flex-direction: column;
1484
+ align-items: center;
1485
+ justify-content: center;
1486
+ gap: 4px;
1487
+
1488
+ max-width: 5.5rem;
1489
+
1490
+ &-info {
1491
+ display: flex;
1492
+ justify-content: center;
1493
+ align-items: center;
1494
+ gap: 8px;
1495
+
1496
+ &-text {
1497
+ font-size: 14px;
1498
+ color: gray;
1499
+ margin: 0;
1500
+ }
1501
+
1502
+ &-hour {
1503
+ font-size: 14px;
1504
+ color: gray;
1505
+ margin-top: 0;
1506
+ margin-bottom: 16px;
1507
+ }
1508
+ }
1509
+ }
1510
+
1511
+ &-end {
1512
+ grid-column: span 2;
1513
+
1514
+ display: flex;
1515
+ flex-direction: column;
1516
+ align-items: flex-start;
1517
+
1518
+ &-time {
1519
+ font-size: 18px;
1520
+ font-weight: 400;
1521
+
1522
+ color: black;
1523
+
1524
+ margin: 0;
1525
+ }
1526
+
1527
+ &-destination {
1528
+ color: black;
1529
+ font-size: 14px;
1530
+
1531
+ margin-top: 8px;
1532
+ margin-bottom: 0;
1533
+
1534
+ text-align: left;
1535
+ }
1536
+
1537
+ &-date {
1538
+ font-size: 14px;
1539
+ color: gray;
1540
+
1541
+ margin-top: 0;
1542
+
1543
+ text-align: left;
1544
+
1545
+ &--warning {
1546
+ color: pink;
1547
+ }
1548
+
1549
+ &-wrapper {
1550
+ display: flex;
1551
+ align-items: center;
1552
+ gap: 8px;
1553
+ }
1554
+
1555
+ &-icon {
1556
+ margin-top: 5px;
1557
+ }
1558
+ }
1559
+ }
1560
+ }
1561
+ }
1562
+
1563
+ &__banner {
1564
+ display: flex;
1565
+ justify-content: center;
1566
+ margin-bottom: 60px;
1567
+ margin-top: 30px;
1568
+ }
1569
+
1570
+ &__results__cards--extended {
1571
+ @include mixins.media-sm {
1572
+ grid-template-columns: repeat(1, 1fr);
1573
+ }
1574
+
1575
+ @include mixins.media-lg {
1576
+ grid-template-columns: repeat(1, 1fr);
1577
+ }
1578
+
1579
+ .search__result-card {
1580
+ &__wrapper {
1581
+ @include mixins.media-sm {
1582
+ flex-direction: row;
1583
+ justify-content: flex-start;
1584
+ }
1585
+
1586
+ @include mixins.media-lg {
1587
+ flex-direction: row;
1588
+ }
1589
+ }
1590
+
1591
+ &__img-wrapper {
1592
+ @include mixins.media-sm {
1593
+ width: 40%;
1594
+ min-height: 100%;
1595
+ overflow: hidden;
1596
+ }
1597
+
1598
+ @include mixins.media-lg {
1599
+ width: 40%;
1600
+ min-height: 100%;
1601
+ }
1602
+ }
1603
+
1604
+ &__price {
1605
+ &__wrapper {
1606
+ @include mixins.media-sm {
1607
+ position: absolute;
1608
+ bottom: auto;
1609
+ right: auto;
1610
+ top: 0px;
1611
+ left: 50%;
1612
+ transform: translateX(-50%);
1613
+ border-radius: 0 0 5px 5px;
1614
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
1615
+ }
1616
+ }
1617
+ }
1618
+
1619
+ &__content {
1620
+ @include mixins.media-sm {
1621
+ width: 60%;
1622
+ padding: 20px;
1623
+ height: auto;
1624
+ }
1625
+
1626
+ @include mixins.media-lg {
1627
+ width: 60%;
1628
+ padding: 20px;
1629
+ }
1630
+ }
1631
+
1632
+ &__header {
1633
+ &__wrapper {
1634
+ @include mixins.media-sm {
1635
+ display: flex;
1636
+ flex-direction: row-reverse;
1637
+ align-items: center;
1638
+ gap: 10px;
1639
+ }
1640
+
1641
+ @include mixins.media-lg {
1642
+ flex-direction: row-reverse;
1643
+ align-items: center;
1644
+ }
1645
+
1646
+ .rating {
1647
+ margin-top: 2px;
1648
+ }
1649
+ }
1650
+ }
1651
+
1652
+ &__description {
1653
+ @include mixins.media-sm {
1654
+ display: -webkit-box;
1655
+ }
1656
+ }
1657
+
1658
+ &__footer {
1659
+ @include mixins.media-sm {
1660
+ justify-content: flex-end;
1661
+
1662
+ .cta {
1663
+ width: auto;
1664
+ }
1665
+ }
1666
+ }
1667
+
1668
+ &__allotment {
1669
+ padding: 0px;
1670
+ @include mixins.media-sm {
1671
+ flex-direction: column;
1672
+ }
1673
+
1674
+ @include mixins.media-md {
1675
+ flex-direction: row;
1676
+ }
1677
+
1678
+ @include mixins.media-lg {
1679
+ flex-direction: column;
1680
+ }
1681
+
1682
+ @include mixins.media-xl {
1683
+ flex-direction: row;
1684
+ }
1685
+
1686
+ &__title__wrapper {
1687
+ padding: 0px 20px;
1688
+
1689
+ @include mixins.media-md {
1690
+ padding: 20px 0px;
1691
+ }
1692
+ @include mixins.media-lg {
1693
+ padding: 0px 20px;
1694
+ }
1695
+ @include mixins.media-xl {
1696
+ padding: 20px 0px;
1697
+ }
1698
+ }
1699
+
1700
+ &__footer {
1701
+ padding: 0px 20px;
1702
+ padding-bottom: 20px;
1703
+ @include mixins.media-sm {
1704
+ flex-direction: row;
1705
+ align-items: flex-start;
1706
+ }
1707
+
1708
+ @include mixins.media-md {
1709
+ flex-direction: column;
1710
+ align-items: flex-end;
1711
+ padding: 20px 0px;
1712
+ padding-right: 20px;
1713
+ }
1714
+
1715
+ @include mixins.media-lg {
1716
+ flex-direction: row;
1717
+ align-items: flex-start;
1718
+ padding: 0px 20px;
1719
+ padding-bottom: 20px;
1720
+ }
1721
+
1722
+ @include mixins.media-xl {
1723
+ flex-direction: column;
1724
+ align-items: flex-end;
1725
+ padding: 20px 0px;
1726
+ padding-right: 20px;
1727
+ }
1728
+ }
1729
+
1730
+ &__price {
1731
+ &__wrapper {
1732
+ @include mixins.media-sm {
1733
+ align-items: flex-start;
1734
+ }
1735
+ @include mixins.media-md {
1736
+ align-items: flex-end;
1737
+ }
1738
+ @include mixins.media-lg {
1739
+ align-items: flex-start;
1740
+ }
1741
+ @include mixins.media-xl {
1742
+ align-items: flex-end;
1743
+ }
1744
+ }
1745
+ }
1746
+ }
1747
+ }
1748
+ }
1749
+
1750
+ &__results__cards--list {
1751
+ @include mixins.media-sm {
1752
+ grid-template-columns: repeat(1, 1fr);
1753
+ }
1754
+
1755
+ @include mixins.media-lg {
1756
+ grid-template-columns: repeat(1, 1fr);
1757
+ }
1758
+
1759
+ .search__result-card {
1760
+ &__wrapper {
1761
+ @include mixins.media-sm {
1762
+ flex-direction: row;
1763
+ justify-content: flex-start;
1764
+ }
1765
+
1766
+ @include mixins.media-lg {
1767
+ flex-direction: row;
1768
+ }
1769
+ }
1770
+
1771
+ &__img-wrapper {
1772
+ @include mixins.media-sm {
1773
+ min-width: 175px;
1774
+ width: 175px;
1775
+ height: 175px;
1776
+ min-height: 100%;
1777
+ overflow: hidden;
1778
+ }
1779
+
1780
+ @include mixins.media-lg {
1781
+ min-width: 175px;
1782
+ height: 175px;
1783
+ min-height: 100%;
1784
+ }
1785
+ }
1786
+
1787
+ &__price {
1788
+ &__wrapper {
1789
+ @include mixins.media-sm {
1790
+ position: absolute;
1791
+ bottom: auto;
1792
+ right: auto;
1793
+ top: 0px;
1794
+ left: 50%;
1795
+ transform: translateX(-50%);
1796
+ min-width: 96px;
1797
+ border-radius: 0 0 5px 5px;
1798
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
1799
+ }
1800
+ }
1801
+ }
1802
+
1803
+ &__content {
1804
+ @include mixins.media-sm {
1805
+ flex-direction: row;
1806
+ width: 100%;
1807
+ padding: 15px 20px;
1808
+ height: auto;
1809
+ }
1810
+
1811
+ @include mixins.media-lg {
1812
+ width: 100%;
1813
+ padding: 15px 20px;
1814
+ }
1815
+ }
1816
+
1817
+ &__header {
1818
+ &__wrapper {
1819
+ @include mixins.media-sm {
1820
+ display: flex;
1821
+ flex-direction: row-reverse;
1822
+ align-items: center;
1823
+ gap: 10px;
1824
+ }
1825
+
1826
+ @include mixins.media-lg {
1827
+ flex-direction: row-reverse;
1828
+ align-items: center;
1829
+ }
1830
+
1831
+ .rating {
1832
+ margin-top: 2px;
1833
+ }
1834
+ }
1835
+ }
1836
+
1837
+ &__description {
1838
+ display: none;
1839
+ }
1840
+
1841
+ &__footer {
1842
+ @include mixins.media-sm {
1843
+ justify-content: flex-end;
1844
+ align-items: flex-end;
1845
+
1846
+ .cta {
1847
+ width: auto;
1848
+ }
1849
+ }
1850
+ }
1851
+
1852
+ &__allotment {
1853
+ &__img-wrapper {
1854
+ display: none;
1855
+ }
1856
+
1857
+ &__description {
1858
+ display: none;
1859
+ }
1860
+ }
1861
+ }
1862
+ }
1863
+ }
1864
+
1865
+ .star-rating-filter {
1866
+ display: flex;
1867
+ justify-content: flex-end;
1868
+ flex-direction: row-reverse;
1869
+ gap: 15px;
1870
+ font-size: 24px;
1871
+ cursor: pointer;
1872
+
1873
+ .star {
1874
+ color: var(--tide-booking-star-rating-color);
1875
+ /* unfilled */
1876
+ transition: color 0.2s;
1877
+ }
1878
+
1879
+ .star.filled {
1880
+ color: var(--tide-booking-star-rating-color--filled);
1881
+ /* filled gold */
1882
+ }
1883
+
1884
+ .star:hover,
1885
+ .star:hover ~ .star {
1886
+ color: var(--tide-booking-star-rating-color--hover);
1887
+ }
1888
+ }
1889
+
1890
+ .search__filter-toggle-label {
1891
+ vertical-align: middle;
1892
+ font-size: 0.95rem;
1893
+ }
1894
+
1895
+ .mobile-filters-button {
1896
+ display: flex;
1897
+ justify-content: center;
1898
+ align-items: center;
1899
+ flex: 1;
1900
+ max-width: 7rem;
1901
+ margin-right: 0.5rem;
1902
+ height: 3.5rem;
1903
+ color: grey;
1904
+ border: 1px solid green;
1905
+ border-radius: 3px;
1906
+ font-size: 16px;
1907
+ cursor: pointer;
1908
+
1909
+ @include mixins.media-lg {
1910
+ display: none;
1911
+ }
1912
+
1913
+ &__icon {
1914
+ fill: red;
1915
+ margin-right: 0.5rem;
1916
+ }
1917
+ }
1918
+
1919
+ .flight-path {
1920
+ display: flex;
1921
+ align-items: center;
1922
+ justify-content: center;
1923
+ width: 100%;
1924
+
1925
+ @media (min-width: 400px) {
1926
+ width: 6rem;
1927
+ }
1928
+
1929
+ &__point {
1930
+ width: 7px;
1931
+ height: 7px;
1932
+
1933
+ border-radius: 50%;
1934
+ border: 1px solid red;
1935
+ background: wh;
1936
+
1937
+ &--start,
1938
+ &--end {
1939
+ background-color: white;
1940
+ min-width: 7px;
1941
+ }
1942
+ }
1943
+
1944
+ &__line {
1945
+ display: flex;
1946
+ align-items: center;
1947
+ flex-grow: 1;
1948
+ position: relative;
1949
+ height: 1px;
1950
+ background: red;
1951
+
1952
+ gap: 1.3rem;
1953
+
1954
+ &::before,
1955
+ &::after {
1956
+ content: '';
1957
+ flex-grow: 1;
1958
+ height: 1px;
1959
+ background: red;
1960
+ }
1961
+ }
1962
+
1963
+ &__stop {
1964
+ width: 9px;
1965
+ height: 9px;
1966
+
1967
+ border-radius: 50%;
1968
+ background: red;
1969
+ border: 2px solid white;
1970
+
1971
+ position: relative;
1972
+ }
1973
+ }
1974
+
1975
+ .has-overlay {
1976
+ overflow: hidden;
1977
+ }
1978
+
1979
+ .spinner {
1980
+ &__container {
1981
+ margin: 1rem auto;
1982
+ display: flex;
1983
+ flex-direction: column;
1984
+ align-items: center;
1985
+ gap: 1rem;
1986
+ }
1987
+
1988
+ &__icon {
1989
+ border: 2px solid rgb(244, 249, 250, 0.2);
1990
+ border-top: 2px solid #3aafa9;
1991
+ border-radius: 50%;
1992
+ width: 24px;
1993
+ height: 24px;
1994
+ animation: spin 0.6s linear infinite;
1995
+ display: inline-block;
1996
+ vertical-align: middle;
1997
+ margin-right: 6px;
1998
+ }
1999
+
2000
+ &__label {
2001
+ text-align: center;
2002
+ }
2003
+ }
2004
+
2005
+ @keyframes spin {
2006
+ to {
2007
+ transform: rotate(360deg);
2008
+ }
2009
+ }