@iamproperty/components 1.0.13 → 2.2.0

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 (205) hide show
  1. package/README.md +120 -12
  2. package/assets/.DS_Store +0 -0
  3. package/assets/favicons/android-chrome-192x192.png +0 -0
  4. package/assets/favicons/android-chrome-512x512.png +0 -0
  5. package/assets/favicons/apple-touch-icon.png +0 -0
  6. package/assets/favicons/favicon-16x16.png +0 -0
  7. package/assets/favicons/favicon-32x32.png +0 -0
  8. package/assets/favicons/favicon.ico +0 -0
  9. package/assets/fonts/qanelas-medium-webfont.woff +0 -0
  10. package/assets/fonts/qanelas-medium-webfont.woff2 +0 -0
  11. package/assets/fonts/qanelassoft-extrabold-webfont.woff +0 -0
  12. package/assets/fonts/qanelassoft-extrabold-webfont.woff2 +0 -0
  13. package/assets/img/.DS_Store +0 -0
  14. package/{src/assets → assets}/img/logo.png +0 -0
  15. package/assets/js/main.js +62 -0
  16. package/assets/js/modules/accordion.js +36 -0
  17. package/assets/js/modules/carousel.js +102 -0
  18. package/assets/js/modules/drawer.js +16 -0
  19. package/assets/js/modules/form.js +49 -0
  20. package/assets/js/modules/helpers.js +93 -0
  21. package/assets/js/modules/modal.js +72 -0
  22. package/assets/js/modules/nav.js +27 -0
  23. package/assets/js/modules/table.js +573 -0
  24. package/assets/js/modules/testimonial.js +83 -0
  25. package/assets/sass/.DS_Store +0 -0
  26. package/assets/sass/_components.scss +35 -0
  27. package/assets/sass/_corefiles.scss +58 -0
  28. package/assets/sass/_func.scss +9 -0
  29. package/assets/sass/_functions/functions.scss +95 -0
  30. package/assets/sass/_functions/mixins.scss +109 -0
  31. package/assets/sass/_functions/utilities.scss +238 -0
  32. package/assets/sass/_functions/variables.scss +411 -0
  33. package/assets/sass/components/accordion.scss +195 -0
  34. package/assets/sass/components/card.scss +168 -0
  35. package/assets/sass/components/cardDeck.scss +107 -0
  36. package/assets/sass/components/carousel.scss +265 -0
  37. package/assets/sass/components/charts.scss +562 -0
  38. package/assets/sass/components/drawer.scss +45 -0
  39. package/assets/sass/components/header.scss +57 -0
  40. package/assets/sass/components/modal.scss +133 -0
  41. package/assets/sass/components/nav.scss +619 -0
  42. package/assets/sass/components/property-searchbar.scss +138 -0
  43. package/assets/sass/components/snapshot.scss +69 -0
  44. package/assets/sass/components/tabs.scss +46 -0
  45. package/assets/sass/components/testimonial.scss +131 -0
  46. package/assets/sass/components/timeline.scss +93 -0
  47. package/assets/sass/core.scss +4 -0
  48. package/assets/sass/elements/buttons.scss +263 -0
  49. package/assets/sass/elements/container.scss +222 -0
  50. package/assets/sass/elements/forms.scss +128 -0
  51. package/assets/sass/elements/links.scss +95 -0
  52. package/assets/sass/elements/lists.scss +26 -0
  53. package/assets/sass/elements/media.scss +3 -0
  54. package/assets/sass/elements/tables.scss +247 -0
  55. package/assets/sass/elements/tooltips.scss +71 -0
  56. package/assets/sass/elements/type.scss +114 -0
  57. package/assets/sass/foundations/brand.scss +74 -0
  58. package/assets/sass/foundations/circles.scss +63 -0
  59. package/assets/sass/foundations/fonts.scss +17 -0
  60. package/assets/sass/foundations/icons.scss +46 -0
  61. package/assets/sass/foundations/reboot.scss +120 -0
  62. package/assets/sass/foundations/root.scss +45 -0
  63. package/assets/sass/main.scss +5 -0
  64. package/assets/svg/.DS_Store +0 -0
  65. package/assets/svg/flat/.DS_Store +0 -0
  66. package/assets/svg/flat/agreed.svg +1 -0
  67. package/assets/svg/flat/alert.svg +1 -0
  68. package/assets/svg/flat/asset-37.svg +1 -0
  69. package/assets/svg/flat/asset-73.svg +1 -0
  70. package/assets/svg/flat/asset-82.svg +1 -0
  71. package/assets/svg/flat/award.svg +1 -0
  72. package/assets/svg/flat/bath.svg +1 -0
  73. package/assets/svg/flat/bed.svg +1 -0
  74. package/assets/svg/flat/calculate.svg +1 -0
  75. package/assets/svg/flat/calendar.svg +1 -0
  76. package/assets/svg/flat/celebrate.svg +1 -0
  77. package/assets/svg/flat/chat-house.svg +1 -0
  78. package/assets/svg/flat/chat.svg +1 -0
  79. package/assets/svg/flat/circle.svg +1 -0
  80. package/assets/svg/flat/clean.svg +1 -0
  81. package/assets/svg/flat/clock.svg +1 -0
  82. package/assets/svg/flat/computer.svg +1 -0
  83. package/assets/svg/flat/down.svg +1 -0
  84. package/assets/svg/flat/edit.svg +1 -0
  85. package/assets/svg/flat/email.svg +1 -0
  86. package/assets/svg/flat/event.svg +1 -0
  87. package/assets/svg/flat/family.svg +1 -0
  88. package/assets/svg/flat/file.svg +1 -0
  89. package/assets/svg/flat/find.svg +1 -0
  90. package/assets/svg/flat/fireworks.svg +1 -0
  91. package/assets/svg/flat/fist-left.svg +1 -0
  92. package/assets/svg/flat/fist.svg +1 -0
  93. package/assets/svg/flat/folder.svg +1 -0
  94. package/assets/svg/flat/footprints.svg +1 -0
  95. package/assets/svg/flat/hand.svg +1 -0
  96. package/assets/svg/flat/hands.svg +1 -0
  97. package/assets/svg/flat/house-2.svg +1 -0
  98. package/assets/svg/flat/house.svg +1 -0
  99. package/assets/svg/flat/idea.svg +1 -0
  100. package/assets/svg/flat/judge-house.svg +1 -0
  101. package/assets/svg/flat/judge.svg +1 -0
  102. package/assets/svg/flat/keys-house.svg +1 -0
  103. package/assets/svg/flat/lock.svg +1 -0
  104. package/assets/svg/flat/mobile.svg +1 -0
  105. package/assets/svg/flat/money.svg +1 -0
  106. package/assets/svg/flat/monument.svg +1 -0
  107. package/assets/svg/flat/online-judgement.svg +1 -0
  108. package/assets/svg/flat/paint.svg +1 -0
  109. package/assets/svg/flat/person-2.svg +1 -0
  110. package/assets/svg/flat/person.svg +1 -0
  111. package/assets/svg/flat/phone.svg +1 -0
  112. package/assets/svg/flat/pin.svg +1 -0
  113. package/assets/svg/flat/pound.svg +1 -0
  114. package/assets/svg/flat/present.svg +1 -0
  115. package/assets/svg/flat/qualification.svg +1 -0
  116. package/assets/svg/flat/rocket.svg +1 -0
  117. package/assets/svg/flat/sale.svg +1 -0
  118. package/assets/svg/flat/save.svg +1 -0
  119. package/assets/svg/flat/scale.svg +1 -0
  120. package/assets/svg/flat/send.svg +1 -0
  121. package/assets/svg/flat/share.svg +1 -0
  122. package/assets/svg/flat/sofa.svg +1 -0
  123. package/assets/svg/flat/sold.svg +1 -0
  124. package/assets/svg/flat/star.svg +1 -0
  125. package/assets/svg/flat/stopwatch.svg +1 -0
  126. package/assets/svg/flat/task.svg +1 -0
  127. package/assets/svg/flat/telescope.svg +1 -0
  128. package/assets/svg/flat/thumb.svg +1 -0
  129. package/assets/svg/flat/time.svg +1 -0
  130. package/assets/svg/flat/up.svg +1 -0
  131. package/assets/svg/flat/valuation.svg +1 -0
  132. package/assets/svg/flat/value-house.svg +1 -0
  133. package/assets/svg/flat/warning.svg +1 -0
  134. package/assets/svg/flat/water.svg +1 -0
  135. package/assets/svg/icons.svg +51 -0
  136. package/assets/svg/illustrations/commuter1.svg +1 -0
  137. package/assets/svg/illustrations/commuter2.svg +1 -0
  138. package/assets/svg/illustrations/commuter3.svg +1 -0
  139. package/assets/svg/logo.svg +43 -0
  140. package/dist/components.common.js +8218 -390
  141. package/dist/components.common.js.map +1 -1
  142. package/dist/components.css +2 -1
  143. package/dist/components.css.map +1 -0
  144. package/dist/components.umd.js +8218 -390
  145. package/dist/components.umd.js.map +1 -1
  146. package/dist/components.umd.min.js +1 -1
  147. package/dist/components.umd.min.js.map +1 -1
  148. package/package.json +88 -57
  149. package/src/.DS_Store +0 -0
  150. package/src/components/Accordion/Accordion.vue +24 -0
  151. package/src/components/Accordion/AccordionItem.vue +43 -0
  152. package/src/components/Accordion/README.md +34 -0
  153. package/src/components/Banner/Banner.vue +38 -0
  154. package/src/components/Banner/README.md +24 -0
  155. package/src/components/Card/Card.vue +115 -0
  156. package/src/components/Card/README.md +24 -0
  157. package/src/components/CardDeck/CardDeck.vue +78 -0
  158. package/src/components/CardDeck/README.md +25 -0
  159. package/src/components/Carousel/Carousel.vue +86 -0
  160. package/src/components/Carousel/README.md +20 -0
  161. package/src/components/Chart/Chart.vue +246 -0
  162. package/src/components/Chart/README.md +18 -0
  163. package/src/components/Drawer/Drawer.vue +54 -0
  164. package/src/components/Drawer/README.md +23 -0
  165. package/src/components/Header/Header.vue +39 -0
  166. package/src/components/Header/README.md +28 -0
  167. package/src/components/Modal/Modal.vue +44 -0
  168. package/src/components/Modal/README.md +20 -0
  169. package/src/components/Nav/Nav.vue +129 -0
  170. package/src/components/Nav/README.md +23 -0
  171. package/src/components/PropertySearchbar/PropertySearchbar.vue +206 -0
  172. package/src/components/PropertySearchbar/README.md +26 -0
  173. package/src/components/Snapshot/README.md +21 -0
  174. package/src/components/Snapshot/Snapshot.vue +33 -0
  175. package/src/components/Tabs/README.md +27 -0
  176. package/src/components/Tabs/Tab.vue +17 -0
  177. package/src/components/Tabs/Tabs.vue +55 -0
  178. package/src/components/Testimonial/README.md +26 -0
  179. package/src/components/Testimonial/Testimonial.vue +61 -0
  180. package/src/components/Timeline/README.md +18 -0
  181. package/src/components/Timeline/Timeline.vue +25 -0
  182. package/src/elements/Input/Input.vue +236 -0
  183. package/src/elements/Input/README.md +18 -0
  184. package/src/elements/Table/README.md +55 -0
  185. package/src/elements/Table/Table.vue +112 -0
  186. package/src/foundations/Icon/Icon.vue +21 -0
  187. package/src/foundations/Icon/README.md +11 -0
  188. package/src/foundations/Logo/Logo.vue +39 -0
  189. package/src/foundations/Logo/README.md +20 -0
  190. package/src/helpers/strings.js +12 -0
  191. package/src/index.js +21 -6
  192. package/src/assets/css/default.css +0 -99
  193. package/src/assets/logo.png +0 -0
  194. package/src/assets/scss/_variables.scss +0 -13
  195. package/src/components/KeyFacts/KeyFact.vue +0 -45
  196. package/src/components/KeyFacts/KeyFactGroup.vue +0 -44
  197. package/src/components/KeyFacts/README.md +0 -23
  198. package/src/components/KeyInformation/KeyInformation.vue +0 -23
  199. package/src/components/KeyInformation/README.md +0 -32
  200. package/src/components/PropertyTaskIntro/PropertyTaskIntro.vue +0 -74
  201. package/src/components/PropertyTaskIntro/README.md +0 -27
  202. package/src/components/TaskTitle/README.md +0 -24
  203. package/src/components/TaskTitle/TaskTitle.vue +0 -68
  204. package/src/components/VendorTable/README.md +0 -63
  205. package/src/components/VendorTable/VendorTable.vue +0 -49
@@ -0,0 +1,168 @@
1
+ // #region Defaul Card
2
+ // Reset the link
3
+ a.card {
4
+
5
+ cursor: pointer;
6
+
7
+ &:before {
8
+ display: none;
9
+ }
10
+ }
11
+
12
+ .card {
13
+ --spread: #{rem(12)};
14
+ box-shadow: 0 2px var(--spread) 0 rgba(154,154,154,0.25);
15
+ min-height: 100%;
16
+ overflow: hidden;
17
+ max-width: rem(925);
18
+
19
+ &:hover,
20
+ &:focus {
21
+ --spread: #{rem(6)};
22
+
23
+ .card-body *:not(.badge) {
24
+ color: var(--colour-hover)!important;
25
+ }
26
+ }
27
+
28
+ &:active {
29
+ --spread: #{rem(3)};
30
+ }
31
+ }
32
+
33
+ .card-header__wrapper {
34
+ padding-bottom: 0;
35
+ padding-top: 55%;
36
+ position: relative;
37
+ overflow: hidden;
38
+ background: rgba(0,0,0,0.1);
39
+
40
+ > * {
41
+
42
+ position: absolute;
43
+ top: 0;
44
+ left: 0;
45
+ width: 100%;
46
+ height: 100%;
47
+ }
48
+
49
+ .card-image {
50
+ position: absolute;
51
+ top: 0;
52
+ left: 0;
53
+ width: 101%;
54
+ height: 101%;
55
+ object-fit: cover;
56
+ }
57
+
58
+ .card-header {
59
+ display: flex;
60
+ flex-wrap: nowrap;
61
+ flex-direction: column;
62
+ align-items: flex-start;
63
+ justify-content: space-between;
64
+ }
65
+
66
+ .card-logo {
67
+ position: absolute;
68
+ top: 0;
69
+ right: 0;
70
+ left: auto;
71
+ height: 3.5rem;
72
+ width: 8rem;
73
+ object-fit: contain;
74
+ object-position: right;
75
+ }
76
+ }
77
+
78
+ .card-body {
79
+
80
+ color: var(--colour-body);
81
+
82
+ *:last-child {
83
+ margin-bottom: 0;
84
+ }
85
+ }
86
+
87
+ .card-footer {
88
+ padding-top: 0;
89
+ }
90
+
91
+ // Add a default margin bottom
92
+ .row:not([class*="g-"]) .card {
93
+
94
+ margin-bottom: 1rem;
95
+ }
96
+ // #endregion
97
+
98
+ // #region Simple card variant
99
+ .card--simple {
100
+
101
+ box-shadow: none;
102
+ min-height: 0;
103
+ background: none;
104
+
105
+ .card-header__wrapper {
106
+
107
+ @include border-radius($card-border-radius);
108
+ margin-bottom: 1rem;
109
+ }
110
+
111
+ .card-body {
112
+ padding-top: 0;
113
+ }
114
+ .card-body,
115
+ .card-footer {
116
+ padding-left: 0;
117
+ padding-right: 0;
118
+ }
119
+ }
120
+ // #endregion
121
+
122
+ // #region Quick link card
123
+ .card--quick{
124
+
125
+ .card-header,
126
+ .card-footer,
127
+ .card-body > *:not(.card-title) {
128
+ display: none;
129
+ }
130
+
131
+ .card-title {
132
+ margin-bottom: 0;
133
+ padding-left: 2em;
134
+ position: relative;
135
+
136
+ &:before,
137
+ &:after {
138
+
139
+ content: "";
140
+ position: absolute;
141
+ left: 0;
142
+ top: 0;
143
+ width: 1.2em;
144
+ height: 1.2em;
145
+ }
146
+ &:before {
147
+
148
+ left: 0.05em;
149
+ background: currentColor;
150
+ mask-image: escape-svg($accordion-button-icon);
151
+ mask-size: 50%;
152
+ mask-repeat: no-repeat;
153
+ mask-position: 50% 50%;
154
+
155
+ -webkit-mask-image: escape-svg($accordion-button-icon);
156
+ -webkit-mask-size: 50%;
157
+ -webkit-mask-repeat: no-repeat;
158
+ -webkit-mask-position: 50% 50%;
159
+ }
160
+
161
+ &:after {
162
+ border: 2px solid currentColor;
163
+ border-radius: 50%;
164
+ }
165
+
166
+ }
167
+ }
168
+ // #endregion
@@ -0,0 +1,107 @@
1
+
2
+ // #region Card Deck
3
+ .card-deck.container:not([data-card-type="simple"]) {
4
+
5
+ padding-bottom: 3rem;
6
+
7
+ > .row:first-child {
8
+ padding-top: 0.5rem;
9
+ }
10
+
11
+ &[class*="bg-"] {
12
+ padding-bottom: 5rem;
13
+ }
14
+ }
15
+ // #endregion
16
+
17
+ // #region Fake container query that transforms the card into a vertical card
18
+ @mixin vertical-card(){
19
+ .card-header__wrapper {
20
+ position: absolute;
21
+ top: 0;
22
+ left: 0;
23
+ width: 45.8%;
24
+ height: 100%;
25
+ padding: 0;
26
+ }
27
+ .card-header__wrapper ~ .card-body,
28
+ .card-header__wrapper ~ .card-footer {
29
+ padding-left: calc(45.8% + #{$card-spacer-x + $card-spacer-x});
30
+ }
31
+ }
32
+
33
+ @media screen and (min-width: 36em) and (max-width: 61.99em) {
34
+
35
+ .card-deck .row-cols-sm-1 {
36
+ @include vertical-card();
37
+ }
38
+ }
39
+
40
+ @include media-breakpoint-up(md) {
41
+
42
+ .card-deck:not(.card-deck--featured) .row-cols-md-1 {
43
+
44
+ @include vertical-card();
45
+ }
46
+ }
47
+ // #endregion
48
+
49
+ // #region Featured Card deck
50
+ .card-deck--featured {
51
+
52
+ > .row > .col:nth-child(4) ~ .col {
53
+ display: none;
54
+ }
55
+
56
+ > .row > .col:not(:first-child) .card-header__wrapper {
57
+ display: none;
58
+ }
59
+
60
+ .row-cols-sm-1 > .col:not(:first-child) .card-header__wrapper ~ .card-body {
61
+ padding-left: 1.5rem;
62
+ }
63
+
64
+ .card-footer {
65
+ display: none;
66
+ }
67
+
68
+ @include media-breakpoint-up(md) {
69
+
70
+ > .row {
71
+ display: grid;
72
+ grid-template-columns: 1fr 1fr 41.66666667%;
73
+ grid-template-rows: auto auto auto;
74
+ gap: var(--bs-gutter-y) var(--bs-gutter-x);
75
+ grid-template-areas:
76
+ "featured featured card2"
77
+ "featured featured card3"
78
+ "featured featured card4";
79
+ margin-top:0;
80
+ }
81
+ > .row > .col:first-child {
82
+ grid-area: featured;
83
+ }
84
+ > .row > .col:not(:first-child) {
85
+ min-height: 0;
86
+ }
87
+
88
+ > .row > .col:nth-child(2) {
89
+ grid-area: card2;
90
+ }
91
+
92
+ > .row > .col:nth-child(3) {
93
+ grid-area: card3;
94
+ }
95
+
96
+ > .row > .col:nth-child(4) {
97
+ grid-area: card4;
98
+ }
99
+
100
+ > .row > .col {
101
+ width: 100%;
102
+ margin-top:0;
103
+ }
104
+
105
+ }
106
+ }
107
+ // #endregion
@@ -0,0 +1,265 @@
1
+ // #region default carousel
2
+ .carousel {
3
+ padding-bottom: 3rem;
4
+
5
+ .carousel__wrapper {
6
+
7
+ position: relative;
8
+ }
9
+
10
+ .carousel__inner {
11
+
12
+ --bs-gutter-x: #{$grid-gutter-width};
13
+ overflow: auto;
14
+ scroll-snap-type: x mandatory;
15
+ margin-right: calc(var(--bs-gutter-x) * -.5);
16
+ margin-left: calc(var(--bs-gutter-x) * -.5);
17
+
18
+ > .row {
19
+ flex-wrap: nowrap;
20
+ margin: 0;
21
+
22
+ > .col {
23
+ padding-top: rem(36);
24
+ padding-bottom: rem(24);
25
+ scroll-snap-align: start;
26
+ scroll-padding: calc(var(--bs-gutter-x) * -1);
27
+ }
28
+ }
29
+ }
30
+
31
+ .carousel__item > *:last-child {
32
+ margin-bottom: 0;
33
+ padding-bottom: 0;
34
+ }
35
+ }
36
+ // #endregion
37
+
38
+ // #region Remove the scrollbar
39
+ body.js-enabled .carousel__inner {
40
+ // FireFox
41
+ scrollbar-width: none;
42
+ // IE10+
43
+ -ms-overflow-style: none;
44
+ }
45
+
46
+ body.js-enabled .carousel__inner::-webkit-scrollbar {
47
+ // Chrome, Safari, Edge
48
+ display: none;
49
+ }
50
+ // #endregion
51
+
52
+ // #region carousel controls/pips
53
+ .carousel:not(.hide-controls) {
54
+ padding-bottom: 4.5rem;
55
+ }
56
+
57
+ .carousel.hide-controls .carousel__controls {
58
+ display: none;
59
+ }
60
+
61
+ .carousel .carousel__controls {
62
+ position: absolute;
63
+ text-align: center;
64
+ width: auto;
65
+ left: 0;
66
+ width: calc(100% + 2rem);
67
+ margin-left: -1rem;
68
+ margin-right: -1rem;
69
+ bottom: -3rem;
70
+
71
+ a {
72
+ width: 1rem;
73
+ height: 1rem;
74
+ min-height: 1rem;
75
+ border-radius: 50%;
76
+ text-indent: -50rem;
77
+ overflow: hidden;
78
+ background: currentColor;
79
+ padding: 0;
80
+ margin: 0 0.5rem 0.5rem 0.5rem;
81
+
82
+ &:before {
83
+ display: none;
84
+ }
85
+ }
86
+
87
+ a:first-child:last-child {
88
+ display: none;
89
+ }
90
+ }
91
+
92
+
93
+ .carousel__controls {
94
+
95
+ @include invert-colours(){
96
+
97
+ a:not(:hover):not(:focus):not(:active):not(.active){
98
+
99
+ opacity: 0.5;
100
+ }
101
+ }
102
+ }
103
+
104
+ .carousel .carousel__controls > a:nth-child(10) ~ a {
105
+
106
+ display: none;
107
+ }
108
+ // #endregion
109
+
110
+ // #region Carousel buttons
111
+ .carousel.hide-btns .carousel__wrapper > .btn {
112
+ display: none;
113
+ }
114
+
115
+ .carousel:not(.hide-btns) .carousel__inner {
116
+
117
+ margin-left: rem(28);
118
+ margin-right: rem(28);
119
+ }
120
+
121
+ .carousel .carousel__wrapper > .btn {
122
+ position: absolute;
123
+ top: 50%;
124
+ left: -1.25rem;
125
+ transform: translate(0,-50%);
126
+
127
+ &.btn-next {
128
+ left: auto;
129
+ right: -1.25rem;
130
+ }
131
+
132
+ @include media-breakpoint-up(md) {
133
+
134
+ margin-left: -1rem;
135
+ margin-right: -1rem;
136
+ }
137
+ }
138
+
139
+
140
+ // #endregion
141
+
142
+ .carousel .carousel__inner > .row > .col:first-child {
143
+ margin-left: 0!important;
144
+ }
145
+
146
+ @include media-breakpoint-up(sm) {
147
+
148
+ .carousel .carousel__controls > a:nth-child(10) ~ a {
149
+
150
+ display: inline-block;
151
+ }
152
+
153
+ .carousel .carousel__inner > .row[class*="row-cols-sm-"] > .col{
154
+ scroll-snap-align: unset;
155
+ }
156
+
157
+ .carousel .carousel__inner > .row-cols-sm-2 > .col:nth-child(odd),
158
+ .carousel .carousel__inner > .row-cols-sm-3 > .col:nth-child(3n+1),
159
+ .carousel .carousel__inner > .row-cols-sm-4 > .col:nth-child(4n+1),
160
+ .carousel .carousel__inner > .row-cols-sm-5 > .col:nth-child(5n+1),
161
+ .carousel .carousel__inner > .row-cols-sm-6 > .col:nth-child(6n+1) {
162
+ scroll-snap-align: start;
163
+
164
+ body:not(.js-enabled) & {
165
+ margin-left: 4rem;
166
+ }
167
+ }
168
+
169
+ .carousel .carousel__controls.cols-sm-2 > a:not(:nth-child(odd)),
170
+ .carousel .carousel__controls.cols-sm-3 > a:not(:nth-child(3n+1)),
171
+ .carousel .carousel__controls.cols-sm-4 > a:not(:nth-child(4n+1)),
172
+ .carousel .carousel__controls.cols-sm-5 > a:not(:nth-child(5n+1)),
173
+ .carousel .carousel__controls.cols-sm-6 > a:not(:nth-child(6n+1)) {
174
+ display: none;
175
+ }
176
+
177
+ // Make sure that we dont just have one pip showing
178
+ .carousel .carousel__controls.cols-sm-2 > a:first-child:nth-last-child(2),
179
+ .carousel .carousel__controls.cols-sm-3 > a:first-child:nth-last-child(2),
180
+ .carousel .carousel__controls.cols-sm-3 > a:first-child:nth-last-child(3),
181
+ .carousel .carousel__controls.cols-sm-4 > a:first-child:nth-last-child(2),
182
+ .carousel .carousel__controls.cols-sm-4 > a:first-child:nth-last-child(3),
183
+ .carousel .carousel__controls.cols-sm-4 > a:first-child:nth-last-child(4),
184
+ .carousel .carousel__controls.cols-sm-5 > a:first-child:nth-last-child(2),
185
+ .carousel .carousel__controls.cols-sm-5 > a:first-child:nth-last-child(3),
186
+ .carousel .carousel__controls.cols-sm-5 > a:first-child:nth-last-child(4),
187
+ .carousel .carousel__controls.cols-sm-5 > a:first-child:nth-last-child(5),
188
+ .carousel .carousel__controls.cols-sm-6 > a:first-child:nth-last-child(2),
189
+ .carousel .carousel__controls.cols-sm-6 > a:first-child:nth-last-child(3),
190
+ .carousel .carousel__controls.cols-sm-6 > a:first-child:nth-last-child(4),
191
+ .carousel .carousel__controls.cols-sm-6 > a:first-child:nth-last-child(5),
192
+ .carousel .carousel__controls.cols-sm-6 > a:first-child:nth-last-child(6) {
193
+ display: none;
194
+ }
195
+
196
+ // Hide buttons if not needed
197
+ .carousel.hide-sm-btns .carousel__wrapper > .btn {
198
+ display: none;
199
+ }
200
+
201
+ .carousel.hide-sm-btns .carousel__inner {
202
+
203
+ margin-left: 0;
204
+ margin-right: 0;
205
+ }
206
+ }
207
+
208
+ @include media-breakpoint-up(md) {
209
+
210
+ .carousel .carousel__inner > .row[class*="row-cols-md-"] > .col{
211
+ scroll-snap-align: unset;
212
+ margin-left: 0;
213
+ }
214
+
215
+ .carousel .carousel__inner > .row-cols-md-2 > .col:nth-child(odd),
216
+ .carousel .carousel__inner > .row-cols-md-3 > .col:nth-child(3n+1),
217
+ .carousel .carousel__inner > .row-cols-md-4 > .col:nth-child(4n+1),
218
+ .carousel .carousel__inner > .row-cols-md-5 > .col:nth-child(5n+1),
219
+ .carousel .carousel__inner > .row-cols-md-6 > .col:nth-child(6n+1) {
220
+ scroll-snap-align: start;
221
+
222
+ body:not(.js-enabled) & {
223
+
224
+ margin-left: calc(50vw);
225
+ }
226
+ }
227
+
228
+ .carousel .carousel__controls.cols-md-2 > a:not(:nth-child(odd)),
229
+ .carousel .carousel__controls.cols-md-3 > a:not(:nth-child(3n+1)),
230
+ .carousel .carousel__controls.cols-md-4 > a:not(:nth-child(4n+1)),
231
+ .carousel .carousel__controls.cols-md-5 > a:not(:nth-child(5n+1)),
232
+ .carousel .carousel__controls.cols-md-6 > a:not(:nth-child(6n+1)) {
233
+ display: none;
234
+ }
235
+
236
+ // Make sure that we dont just have one pip showing
237
+ .carousel .carousel__controls.cols-md-2 > a:first-child:nth-last-child(2),
238
+ .carousel .carousel__controls.cols-md-3 > a:first-child:nth-last-child(2),
239
+ .carousel .carousel__controls.cols-md-3 > a:first-child:nth-last-child(3),
240
+ .carousel .carousel__controls.cols-md-4 > a:first-child:nth-last-child(2),
241
+ .carousel .carousel__controls.cols-md-4 > a:first-child:nth-last-child(3),
242
+ .carousel .carousel__controls.cols-md-4 > a:first-child:nth-last-child(4),
243
+ .carousel .carousel__controls.cols-md-5 > a:first-child:nth-last-child(2),
244
+ .carousel .carousel__controls.cols-md-5 > a:first-child:nth-last-child(3),
245
+ .carousel .carousel__controls.cols-md-5 > a:first-child:nth-last-child(4),
246
+ .carousel .carousel__controls.cols-md-5 > a:first-child:nth-last-child(5),
247
+ .carousel .carousel__controls.cols-md-6 > a:first-child:nth-last-child(2),
248
+ .carousel .carousel__controls.cols-md-6 > a:first-child:nth-last-child(3),
249
+ .carousel .carousel__controls.cols-md-6 > a:first-child:nth-last-child(4),
250
+ .carousel .carousel__controls.cols-md-6 > a:first-child:nth-last-child(5),
251
+ .carousel .carousel__controls.cols-md-6 > a:first-child:nth-last-child(6) {
252
+ display: none;
253
+ }
254
+
255
+ // Hide buttons when not needed
256
+ .carousel.hide-md-btns .carousel__wrapper > .btn {
257
+ display: none;
258
+ }
259
+
260
+ .carousel.hide-md-btns .carousel__inner {
261
+
262
+ margin-left: 0;
263
+ margin-right: 0;
264
+ }
265
+ }