@iamproperty/components 2.7.9 → 3.0.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 (172) hide show
  1. package/README.md +16 -137
  2. package/assets/css/core.min.css +1 -1
  3. package/assets/css/core.min.css.map +1 -1
  4. package/assets/css/email.min.css +1 -1
  5. package/assets/css/email.min.css.map +1 -1
  6. package/assets/css/error.min.css +1 -1
  7. package/assets/css/error.min.css.map +1 -1
  8. package/assets/css/style.min.css +1 -1
  9. package/assets/css/style.min.css.map +1 -1
  10. package/assets/favicons/manifest.json +32 -0
  11. package/assets/js/main.js +57 -78
  12. package/assets/js/modules/accordion.js +32 -36
  13. package/assets/js/modules/alert.js +56 -56
  14. package/assets/js/modules/carousel.js +101 -101
  15. package/assets/js/modules/chart.js +218 -217
  16. package/assets/js/modules/drawer.js +15 -15
  17. package/assets/js/modules/form.js +158 -158
  18. package/assets/js/modules/helpers.js +119 -119
  19. package/assets/js/modules/modal.js +89 -89
  20. package/assets/js/modules/nav.js +28 -27
  21. package/assets/js/modules/table.js +585 -585
  22. package/assets/js/modules/testimonial.js +82 -82
  23. package/assets/js/modules/youtubevideo.js +145 -145
  24. package/assets/js/scripts.bundle.js +174 -102
  25. package/assets/js/scripts.bundle.js.map +1 -1
  26. package/assets/js/scripts.bundle.min.js +2 -2
  27. package/assets/js/scripts.bundle.min.js.map +1 -1
  28. package/assets/sass/_components.scss +14 -14
  29. package/assets/sass/_corefiles.scss +40 -40
  30. package/assets/sass/_fonts.scss +16 -16
  31. package/assets/sass/_forms.scss +9 -9
  32. package/assets/sass/_func.scss +12 -10
  33. package/assets/sass/_functions/functions.scss +141 -141
  34. package/assets/sass/_functions/mixins.scss +170 -170
  35. package/assets/sass/_functions/utilities.scss +250 -250
  36. package/assets/sass/_functions/variables.scss +467 -462
  37. package/assets/sass/_print.scss +61 -61
  38. package/assets/sass/_tests/colours.spec.scss +45 -0
  39. package/assets/sass/_tests/func.spec.scss +233 -0
  40. package/assets/sass/_tests/mixins.spec.scss +194 -0
  41. package/assets/sass/_tests/sass.spec.js +9 -0
  42. package/assets/sass/_tests/typography.spec.scss +36 -0
  43. package/assets/sass/components/accordion.scss +197 -197
  44. package/assets/sass/components/alert.scss +98 -98
  45. package/assets/sass/components/cardDeck.scss +107 -107
  46. package/assets/sass/components/carousel.scss +234 -234
  47. package/assets/sass/components/charts.scss +569 -569
  48. package/assets/sass/components/drawer.scss +46 -46
  49. package/assets/sass/components/header.scss +63 -63
  50. package/assets/sass/components/modal.scss +136 -136
  51. package/assets/sass/components/nav.scss +919 -820
  52. package/assets/sass/components/property-searchbar.scss +143 -143
  53. package/assets/sass/components/snapshot.scss +70 -70
  54. package/assets/sass/components/stepper.scss +164 -164
  55. package/assets/sass/components/tabs.scss +87 -87
  56. package/assets/sass/components/testimonial.scss +132 -132
  57. package/assets/sass/components/timeline.scss +95 -95
  58. package/assets/sass/core.scss +6 -6
  59. package/assets/sass/elements/buttons.scss +209 -209
  60. package/assets/sass/elements/card.scss +177 -177
  61. package/assets/sass/elements/container.scss +225 -225
  62. package/assets/sass/elements/forms.scss +194 -194
  63. package/assets/sass/elements/links.scss +96 -96
  64. package/assets/sass/elements/lists.scss +112 -112
  65. package/assets/sass/elements/panel.scss +161 -161
  66. package/assets/sass/elements/tables.scss +290 -290
  67. package/assets/sass/elements/tooltips.scss +84 -84
  68. package/assets/sass/elements/type.scss +136 -136
  69. package/assets/sass/email.scss +65 -65
  70. package/assets/sass/error.scss +4 -4
  71. package/assets/sass/foundations/brand.scss +72 -72
  72. package/assets/sass/foundations/circles.scss +74 -74
  73. package/assets/sass/foundations/icons.scss +72 -72
  74. package/assets/sass/foundations/media.scss +50 -50
  75. package/assets/sass/foundations/reboot.scss +130 -130
  76. package/assets/sass/foundations/root.scss +106 -104
  77. package/assets/sass/main.scss +7 -7
  78. package/assets/svg/icons.svg +598 -588
  79. package/assets/svg/logo.svg +42 -42
  80. package/assets/ts/main.js +57 -0
  81. package/assets/ts/main.js.map +1 -0
  82. package/assets/ts/main.ts +68 -0
  83. package/assets/ts/modules/accordion.js +33 -0
  84. package/assets/ts/modules/accordion.js.map +1 -0
  85. package/assets/ts/modules/accordion.ts +43 -0
  86. package/dist/components.es.js +2504 -0
  87. package/dist/components.umd.js +56 -3760
  88. package/dist/style.css +1 -0
  89. package/package.json +108 -103
  90. package/src/components/Accordion/Accordion.screenshot.vue +57 -0
  91. package/src/components/Accordion/Accordion.spec.js +63 -0
  92. package/src/components/Accordion/Accordion.vue +22 -22
  93. package/src/components/Accordion/AccordionItem.vue +52 -52
  94. package/src/components/Accordion/README.md +34 -34
  95. package/src/components/Accordion/__screenshots__/win32/laptop/Accordion.png +0 -0
  96. package/src/components/Accordion/__screenshots__/win32/mobile/Accordion.png +0 -0
  97. package/src/components/Accordion/__screenshots__/win32/tablet/Accordion.png +0 -0
  98. package/src/components/Alert/Alert.spec.js +49 -0
  99. package/src/components/Alert/Alert.vue +39 -39
  100. package/src/components/Alert/README.md +28 -28
  101. package/src/components/Banner/Banner.spec.js +28 -0
  102. package/src/components/Banner/Banner.vue +38 -38
  103. package/src/components/Banner/README.md +23 -23
  104. package/src/components/CardDeck/CardDeck.spec.js +99 -0
  105. package/src/components/CardDeck/CardDeck.vue +77 -77
  106. package/src/components/CardDeck/README.md +24 -24
  107. package/src/components/Carousel/Carousel.spec.js +45 -0
  108. package/src/components/Carousel/Carousel.vue +85 -85
  109. package/src/components/Carousel/README.md +19 -19
  110. package/src/components/Chart/Chart.spec.js +201 -0
  111. package/src/components/Chart/Chart.vue +88 -88
  112. package/src/components/Chart/README.md +17 -17
  113. package/src/components/Drawer/Drawer.vue +53 -53
  114. package/src/components/Drawer/README.md +22 -22
  115. package/src/components/Header/Header.spec.js +33 -0
  116. package/src/components/Header/Header.vue +38 -38
  117. package/src/components/Header/README.md +27 -27
  118. package/src/components/Modal/Modal.spec.js +22 -0
  119. package/src/components/Modal/Modal.vue +43 -43
  120. package/src/components/Modal/README.md +19 -19
  121. package/src/components/Nav/Nav.spec.js +35 -0
  122. package/src/components/Nav/Nav.vue +215 -189
  123. package/src/components/Nav/README.md +22 -22
  124. package/src/components/NoteFeed/NoteFeed.vue +79 -79
  125. package/src/components/NoteFeed/README.md +16 -16
  126. package/src/components/PropertySearchbar/PropertySearchbar.vue +204 -204
  127. package/src/components/PropertySearchbar/README.md +25 -25
  128. package/src/components/Snapshot/README.md +20 -20
  129. package/src/components/Snapshot/Snapshot.vue +32 -32
  130. package/src/components/Stepper/README.md +32 -32
  131. package/src/components/Stepper/Step.vue +28 -28
  132. package/src/components/Stepper/Stepper.spec.js +99 -0
  133. package/src/components/Stepper/Stepper.vue +33 -33
  134. package/src/components/Tabs/README.md +27 -27
  135. package/src/components/Tabs/Tab.vue +32 -26
  136. package/src/components/Tabs/Tabs.vue +77 -75
  137. package/src/components/Testimonial/README.md +25 -25
  138. package/src/components/Testimonial/Testimonial.spec.js +57 -0
  139. package/src/components/Testimonial/Testimonial.vue +60 -60
  140. package/src/components/Timeline/README.md +18 -18
  141. package/src/components/Timeline/Timeline.spec.js +17 -0
  142. package/src/components/Timeline/Timeline.vue +24 -24
  143. package/src/elements/Card/Card.vue +113 -113
  144. package/src/elements/Card/README.md +24 -24
  145. package/src/elements/FileUploads/FileUploads.vue +48 -48
  146. package/src/elements/FileUploads/README.md +24 -24
  147. package/src/elements/Input/Input.vue +268 -268
  148. package/src/elements/Input/README.md +19 -19
  149. package/src/elements/Table/README.md +62 -62
  150. package/src/elements/Table/Table.spec.js +90 -0
  151. package/src/elements/Table/Table.vue +129 -129
  152. package/src/foundations/Icon/Icon.spec.js +24 -0
  153. package/src/foundations/Icon/Icon.vue +24 -24
  154. package/src/foundations/Icon/README.md +11 -11
  155. package/src/foundations/Logo/Logo.spec.js +56 -0
  156. package/src/foundations/Logo/Logo.vue +39 -39
  157. package/src/foundations/Logo/README.md +20 -20
  158. package/src/foundations/YoutubeVideo/README.md +11 -11
  159. package/src/foundations/YoutubeVideo/YoutubeVideo.vue +24 -24
  160. package/src/helpers/strings.js +12 -12
  161. package/src/index.js +27 -27
  162. package/src/vue-shim.d.ts +6 -0
  163. package/assets/.DS_Store +0 -0
  164. package/dist/components.common.js +0 -3749
  165. package/dist/components.common.js.map +0 -1
  166. package/dist/components.css +0 -2
  167. package/dist/components.css.map +0 -1
  168. package/dist/components.umd.js.map +0 -1
  169. package/dist/components.umd.min.js +0 -2
  170. package/dist/components.umd.min.js.map +0 -1
  171. package/dist/demo.html +0 -1
  172. package/src/.DS_Store +0 -0
@@ -1,2 +0,0 @@
1
- .accordion{--accordion-indent:0.75rem;--accordion-right-padding:3rem;--accordion-y-padding:1rem;--accordion-icon-size:1.875rem;--accordion-icon-top:0.75rem}@media screen and (min-width:62em){.accordion{--accordion-right-padding:6rem;--accordion-y-padding:2rem;--accordion-icon-size:3rem;--accordion-icon-top:1.25rem}}.accordion-button{padding:var(--accordion-y-padding) var(--accordion-right-padding) var(--accordion-y-padding) var(--accordion-indent);color:var(--colour-heading);text-align:left;background-color:transparent;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--marker-bg:var(--colour-secondary);cursor:pointer;position:relative}@media(prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button .badge{vertical-align:bottom;margin-left:.5em;margin-right:.5em;margin-bottom:.1em}.accordion-button:after,.accordion-button:before{content:"";position:absolute;right:var(--accordion-indent);top:var(--accordion-icon-top);margin-top:var(--accordion-icon-size-half);width:var(--accordion-icon-size);height:var(--accordion-icon-size)}.accordion-button:before{text-indent:100%;white-space:nowrap;overflow:hidden;background:var(--marker-bg);border-radius:100%}.accordion-button:after{background:currentColor;mask-image:var(--icon-arrow);mask-size:50%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:50%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;transition:transform .2s ease-in-out;transform:rotate(90deg)}@media(prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:focus,.accordion-button:hover{--marker-bg:var(--colour-warning);color:var(--colour-hover)}.accordion-button:focus,.accordion-button:hover{z-index:var(--index-focus)}.accordion-button:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}[open]>summary>.accordion-button{color:var(--colour-heading);background-color:transparent}[open]>summary>.accordion-button:after{transform:rotate(-90deg)}summary[class*=bg-] .accordion-button{border-bottom:1px solid var(--colour-border);margin-bottom:-1px}summary[class*=bg-] .accordion-button:before{background:none!important}summary[class*=bg-]:hover .accordion-button{opacity:.8}summary[class*=bg-]+.accordion-body{padding-top:2rem}.accordion-header{margin-bottom:0}.accordion-item{background-color:transparent;border-bottom:1px solid var(--colour-border);margin-bottom:2rem}.accordion-item:first-of-type{border-top:1px solid var(--colour-border)}.accordion-item+.accordion-item{margin-top:-2rem}.accordion-body{text-align:left;padding:0 var(--accordion-indent)}.accordion--straight>details>.accordion-body,.accordion--straight>details>summary:not([class*=bg-])>.accordion-button{padding-left:0!important}.accordion--straight>details>.accordion-body{padding-right:0!important}.accordion .accordion:first-child{padding-top:1rem}.accordion .accordion:last-child{padding-bottom:2rem}.accordion .accordion .accordion-button{padding:1rem 3rem 1rem var(--accordion-indent)}.accordion .accordion .accordion-button:after,.accordion .accordion .accordion-button:before{top:.75rem;height:2rem;width:2rem;right:.5rem}.accordion .accordion .accordion-button:before{background-color:var(--colour-light)}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:0 solid rgba(0,0,0,.125);border-radius:.625rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1.5rem 1.25rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:1.5rem 1.25rem;margin-bottom:0;background-color:transparent;border-bottom:0 solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:1.5rem 1.25rem;background-color:transparent;border-top:0 solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-1.5rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media screen and (min-width:36em){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}a.card{cursor:pointer}a.card:before{display:none}.card:not(.card--simple){--colour-body:var(--colour-body-theme);--colour-heading:var(--colour-primary);--colour-link:var(--colour-link-theme);--colour-hover:var(--colour-hover-theme);--colour-active:var(--colour-active-theme);--colour-border:var(--colour-border-theme);--colour-brand:var(--colour-primary);--btn-bg:var(--colour-warning);--btn-text:var(--colour-primary);--btn-hover-text:var(--colour-primary);--btn-tertiary-bg:var(--colour-primary);--btn-tertiary-hover-text:#fff}.card:not(.card--simple) .text-primary{color:var(--colour-primary)!important}.card{--spread:0.75rem;box-shadow:0 2px var(--spread) 0 hsla(0,0%,60%,.25);min-height:100%;overflow:hidden;max-width:57.8125rem}.card:focus,.card:hover{--spread:0.375rem}.card:focus .card-body :not(.badge),.card:hover .card-body :not(.badge){color:var(--colour-hover)!important}.card:active{--spread:0.1875rem}.card-header__wrapper{padding-bottom:0;padding-top:55%;position:relative;overflow:hidden;background:rgba(0,0,0,.1)}.card-header__wrapper>*{position:absolute;top:0;left:0;width:100%;height:100%}.card-header__wrapper .card-image{position:absolute;top:0;left:0;width:101%;height:101%;-o-object-fit:cover;object-fit:cover}.card-header__wrapper .card-header{display:flex;flex-wrap:nowrap;flex-direction:column;align-items:flex-start;justify-content:space-between}.card-header__wrapper .card-logo{position:absolute;top:0;right:0;left:auto;height:3.5rem;width:8rem;-o-object-fit:contain;object-fit:contain;-o-object-position:right;object-position:right}.card-body{color:var(--colour-body)}.card-body :last-child{margin-bottom:0}.card-footer{padding-top:0}.row:not([class*=g-]) .card{margin-bottom:1rem}.card--simple{box-shadow:none;min-height:0;background:none}.card--simple .card-header__wrapper{border-radius:.625rem;margin-bottom:1rem}.card--simple .card-body{padding-top:0}.card--simple .card-body,.card--simple .card-footer{padding-left:0;padding-right:0}.card--quick .card-body>:not(.card-title),.card--quick .card-footer,.card--quick .card-header{display:none}.card--quick .card-title{margin-bottom:0;padding-left:2em;position:relative}.card--quick .card-title:after,.card--quick .card-title:before{content:"";position:absolute;left:0;top:0;width:1.2em;height:1.2em}.card--quick .card-title:before{left:.05em;background:currentColor;mask-image:var(--icon-arrow);mask-size:50%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:50%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%}.card--quick .card-title:after{border:2px solid currentColor;border-radius:50%}.card-deck.container:not([data-card-type=simple]){padding-bottom:3rem}.card-deck.container:not([data-card-type=simple])>.row:first-child{padding-top:.5rem}.card-deck.container:not([data-card-type=simple])[class*=bg-]{padding-bottom:5rem}@media screen and (min-width:36em)and (max-width:61.99em){.card-deck .row-cols-sm-1 .card-header__wrapper{position:absolute;top:0;left:0;width:45.8%;height:100%;padding:0}.card-deck .row-cols-sm-1 .card-header__wrapper~.card-body,.card-deck .row-cols-sm-1 .card-header__wrapper~.card-footer{padding-left:calc(45.8% + 2.5rem)}}@media screen and (min-width:62em){.card-deck:not(.card-deck--featured) .row-cols-md-1 .card-header__wrapper{position:absolute;top:0;left:0;width:45.8%;height:100%;padding:0}.card-deck:not(.card-deck--featured) .row-cols-md-1 .card-header__wrapper~.card-body,.card-deck:not(.card-deck--featured) .row-cols-md-1 .card-header__wrapper~.card-footer{padding-left:calc(45.8% + 2.5rem)}}.card-deck--featured>.row>.col:not(:first-child) .card-header__wrapper,.card-deck--featured>.row>.col:nth-child(4)~.col{display:none}.card-deck--featured .row-cols-sm-1>.col:not(:first-child) .card-header__wrapper~.card-body{padding-left:1.5rem}.card-deck--featured .card-footer{display:none}@media screen and (min-width:62em){.card-deck--featured>.row{display:grid;grid-template-columns:1fr 1fr 41.66666667%;grid-template-rows:auto auto auto;gap:var(--bs-gutter-y) var(--bs-gutter-x);grid-template-areas:"featured featured card2" "featured featured card3" "featured featured card4";margin-top:0}.card-deck--featured>.row>.col:first-child{grid-area:featured}.card-deck--featured>.row>.col:not(:first-child){min-height:0}.card-deck--featured>.row>.col:nth-child(2){grid-area:card2}.card-deck--featured>.row>.col:nth-child(3){grid-area:card3}.card-deck--featured>.row>.col:nth-child(4){grid-area:card4}.card-deck--featured>.row>.col{width:100%;margin-top:0}}.carousel{padding-bottom:3rem}.carousel .carousel__wrapper{position:relative}.carousel .carousel__inner{--bs-gutter-x:1rem;overflow:auto;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;margin-right:calc(var(--bs-gutter-x)*-.5);margin-left:calc(var(--bs-gutter-x)*-.5)}.carousel .carousel__inner>.row{flex-wrap:nowrap;margin:0}.carousel .carousel__inner>.row>.col{padding-top:2.25rem;padding-bottom:1.5rem;scroll-snap-align:start;scroll-padding:calc(var(--bs-gutter-x)*-1)}.carousel .carousel__item>:last-child{margin-bottom:0;padding-bottom:0}body.js-enabled .carousel__inner{scrollbar-width:none;-ms-overflow-style:none}body.js-enabled .carousel__inner::-webkit-scrollbar{display:none}.carousel:not(.hide-controls){padding-bottom:4.5rem}.carousel.hide-controls .carousel__controls{display:none}.carousel .carousel__controls{position:absolute;text-align:center;width:auto;left:0;width:calc(100% + 2rem);margin-left:-1rem;margin-right:-1rem;bottom:-3rem}.carousel .carousel__controls a{width:1rem;height:1rem;min-height:1rem;border-radius:50%;text-indent:-50rem;overflow:hidden;background:currentColor;padding:0;margin:0 .5rem .5rem .5rem}.carousel .carousel__controls a:before,.carousel .carousel__controls a:first-child:last-child,.carousel .carousel__controls>a:nth-child(10)~a,.carousel.hide-btns .carousel__wrapper>.btn{display:none}.carousel:not(.hide-btns) .carousel__inner{margin-left:1.75rem;margin-right:1.75rem}.carousel .carousel__wrapper>.btn{position:absolute;top:50%;left:-1.25rem;transform:translateY(-50%)}.carousel .carousel__wrapper>.btn.btn-next{left:auto;right:-1.25rem}@media screen and (min-width:62em){.carousel .carousel__wrapper>.btn{margin-left:-1rem;margin-right:-1rem}}.carousel .carousel__inner>.row>.col:first-child{margin-left:0!important}@media screen and (min-width:36em){.carousel .carousel__controls>a:nth-child(10)~a{display:inline-block}.carousel .carousel__inner>.row[class*=row-cols-sm-]>.col{scroll-snap-align:unset}.carousel .carousel__inner>.row-cols-sm-2>.col:nth-child(odd),.carousel .carousel__inner>.row-cols-sm-3>.col:nth-child(3n+1),.carousel .carousel__inner>.row-cols-sm-4>.col:nth-child(4n+1),.carousel .carousel__inner>.row-cols-sm-5>.col:nth-child(5n+1),.carousel .carousel__inner>.row-cols-sm-6>.col:nth-child(6n+1){scroll-snap-align:start}body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-2>.col:nth-child(odd),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-3>.col:nth-child(3n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-4>.col:nth-child(4n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-5>.col:nth-child(5n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-sm-6>.col:nth-child(6n+1){margin-left:4rem}.carousel .carousel__controls.cols-sm-2>a:not(:nth-child(odd)),.carousel .carousel__controls.cols-sm-3>a:not(:nth-child(3n+1)),.carousel .carousel__controls.cols-sm-4>a:not(:nth-child(4n+1)),.carousel .carousel__controls.cols-sm-5>a:not(:nth-child(5n+1)),.carousel .carousel__controls.cols-sm-6>a:not(:nth-child(6n+1)){display:none}.carousel .carousel__controls.cols-sm-2>a:first-child:nth-last-child(2),.carousel .carousel__controls.cols-sm-3>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3)),.carousel .carousel__controls.cols-sm-4>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4)),.carousel .carousel__controls.cols-sm-5>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5)),.carousel .carousel__controls.cols-sm-6>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5),a:first-child:nth-last-child(6)){display:none}.carousel.hide-sm-btns .carousel__wrapper>.btn{display:none}.carousel.hide-sm-btns .carousel__inner{margin-left:0;margin-right:0}}@media screen and (min-width:62em){.carousel .carousel__inner>.row[class*=row-cols-md-]>.col{scroll-snap-align:unset;margin-left:0}.carousel .carousel__inner>.row-cols-md-2>.col:nth-child(odd),.carousel .carousel__inner>.row-cols-md-3>.col:nth-child(3n+1),.carousel .carousel__inner>.row-cols-md-4>.col:nth-child(4n+1),.carousel .carousel__inner>.row-cols-md-5>.col:nth-child(5n+1),.carousel .carousel__inner>.row-cols-md-6>.col:nth-child(6n+1){scroll-snap-align:start}body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-2>.col:nth-child(odd),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-3>.col:nth-child(3n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-4>.col:nth-child(4n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-5>.col:nth-child(5n+1),body:not(.js-enabled) .carousel .carousel__inner>.row-cols-md-6>.col:nth-child(6n+1){margin-left:50vw}.carousel .carousel__controls.cols-md-2>a:not(:nth-child(odd)),.carousel .carousel__controls.cols-md-3>a:not(:nth-child(3n+1)),.carousel .carousel__controls.cols-md-4>a:not(:nth-child(4n+1)),.carousel .carousel__controls.cols-md-5>a:not(:nth-child(5n+1)),.carousel .carousel__controls.cols-md-6>a:not(:nth-child(6n+1)){display:none}.carousel .carousel__controls.cols-md-2>a:first-child:nth-last-child(2),.carousel .carousel__controls.cols-md-3>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3)),.carousel .carousel__controls.cols-md-4>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4)),.carousel .carousel__controls.cols-md-5>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5)),.carousel .carousel__controls.cols-md-6>:is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5),a:first-child:nth-last-child(6)){display:none}.carousel.hide-md-btns .carousel__wrapper>.btn{display:none}.carousel.hide-md-btns .carousel__inner{margin-left:0;margin-right:0}}.header-banner{background:linear-gradient(180deg,var(--colour-secondary) 0,var(--colour-info) 100%);margin-bottom:2rem;position:relative;overflow:hidden}@media screen and (min-width:62em){.header-banner{min-height:29.375rem}}.header-banner>.container{padding-bottom:0;position:relative}.header-banner__inner{--colour-body:var(--colour-body-theme);--colour-heading:var(--colour-primary);--colour-link:var(--colour-link-theme);--colour-hover:var(--colour-hover-theme);--colour-active:var(--colour-active-theme);--colour-border:var(--colour-border-theme);--colour-brand:var(--colour-primary);--btn-bg:var(--colour-warning);--btn-text:var(--colour-primary);--btn-hover-text:var(--colour-primary);--btn-tertiary-bg:var(--colour-primary);--btn-tertiary-hover-text:#fff;color:var(--colour-body);background:#fff;padding:2rem;margin:1.875rem 0;position:relative;z-index:var(--index-above)}.header-banner__inner .text-primary{color:var(--colour-primary)!important}@media screen and (min-width:62em){.header-banner__inner{max-width:37.5rem;margin:7rem 0 5rem 0;padding:3.5rem 4rem}}.header-banner__inner>:last-child{padding-bottom:0;margin-bottom:0}.header-banner>picture img{display:none}@media screen and (min-width:62em){.header-banner>picture img{display:block;position:absolute;top:-.5%;left:40%;height:101%;-o-object-fit:cover;object-fit:cover;width:60%;pointer-events:none}}.header-banner>.container>.breadcrumb{margin-top:1.5rem;margin-bottom:-.5rem}@media screen and (min-width:62em){.header-banner>.container>.breadcrumb{position:absolute;top:0;left:3.75rem}}.testimonial{--testimonial-padding:1rem;--testimonial-spacing:1rem}@media screen and (min-width:62em){.testimonial{--testimonial-padding:4rem;--testimonial-spacing:2rem}}.testimonial>div:first-child{position:relative;overflow:hidden}.testimonial .circle{color:currentColor;position:absolute;top:-18rem;right:-8rem;font-size:28rem;border-width:4px}.testimonial__images{overflow:auto;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;display:flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:pan-x;height:14.375rem}@media screen and (min-width:36em){.testimonial__images{height:21.25rem}}@media screen and (min-width:62em){.testimonial__images{min-height:100%;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;flex-direction:column;touch-action:pan-y}}.testimonial__images img{scroll-snap-align:start;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;flex-shrink:0}.testimonial .testimonial__controls{display:none}.testimonial.testimonial--multi .testimonial__controls{display:block;position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)}@media screen and (min-width:62em){.testimonial.testimonial--multi .testimonial__controls{left:auto;bottom:auto;right:0;top:50%;transform:rotate(90deg) translateY(-120%);transform-origin:center}}.testimonial h2{padding:2rem var(--testimonial-padding) 0 var(--testimonial-padding)}@media screen and (min-width:36em){.testimonial h2{padding-top:3rem}}@media screen and (min-width:62em){.testimonial h2{padding-top:9rem}}.testimonial__content{--display-none:none;margin:0 var(--testimonial-padding) var(--testimonial-spacing) var(--testimonial-padding);position:relative}@media screen and (min-width:62em){.testimonial__content{--display-none:block}.testimonial__content blockquote:not(.largest){position:absolute;top:0}}.testimonial[data-show="1"] blockquote:not(:first-child),.testimonial[data-show="10"] blockquote:not(:nth-child(10)),.testimonial[data-show="2"] blockquote:not(:nth-child(2)),.testimonial[data-show="3"] blockquote:not(:nth-child(3)),.testimonial[data-show="4"] blockquote:not(:nth-child(4)),.testimonial[data-show="5"] blockquote:not(:nth-child(5)),.testimonial[data-show="6"] blockquote:not(:nth-child(6)),.testimonial[data-show="7"] blockquote:not(:nth-child(7)),.testimonial[data-show="8"] blockquote:not(:nth-child(8)),.testimonial[data-show="9"] blockquote:not(:nth-child(9)){display:var(--display-none);opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}.testimonial__after{padding:1rem var(--testimonial-padding) var(--testimonial-spacing) var(--testimonial-padding)}.testimonial__images::-webkit-scrollbar{display:none}.testimonial__images{-ms-overflow-style:none;scrollbar-width:none}.property-searchbar fieldset{position:relative}@media screen and (min-width:62em){.property-searchbar fieldset{position:relative;padding-right:1.5rem}.property-searchbar fieldset:after{content:"";position:absolute;top:0;right:.5rem;display:block;height:100%;width:1px;background-color:var(--colour-muted);opacity:.25}}.property-searchbar .form-control__wrapper{margin-bottom:1rem}@media screen and (min-width:62em){.property-searchbar .form-control__wrapper{margin-bottom:0}}.property-searchbar .form-label,.property-searchbar label{font-size:.875rem;text-transform:uppercase}@media screen and (min-width:62em){.property-searchbar .row .row .form-label{display:none}.property-searchbar .form-control,.property-searchbar .form-select{padding:.5rem 1.5rem .5rem .5rem}.property-searchbar .form-select{background-position:right .5rem center}}.property-searchbar .input--locations{padding-right:5.5rem}.property-searchbar .select--miles{position:absolute;bottom:0;right:.5rem;width:5rem}@media screen and (min-width:62em){.property-searchbar .select--miles{right:1.5rem}}.property-searchbar .select--miles label{display:none}.property-searchbar .select--miles select{background-color:transparent;border-color:transparent}@media screen and (min-width:62em){.property-searchbar .property-searchbar__btn{align-items:flex-end}}.property-searchbar button{margin-top:1rem;margin-bottom:1rem}@media screen and (min-width:62em){.property-searchbar button{margin:0;padding-left:3.5rem;padding-right:3.5rem}}.property-searchbar--hero .property-searchbar{--colour-body:var(--colour-body-theme);--colour-heading:var(--colour-primary);--colour-link:var(--colour-link-theme);--colour-hover:var(--colour-hover-theme);--colour-active:var(--colour-active-theme);--colour-border:var(--colour-border-theme);--colour-brand:var(--colour-primary);--btn-bg:var(--colour-warning);--btn-text:var(--colour-primary);--btn-hover-text:var(--colour-primary);--btn-tertiary-bg:var(--colour-primary);--btn-tertiary-hover-text:#fff;padding:1rem;background-color:#fff;width:100%;border-radius:.625rem;box-shadow:0 2px 4px 0 rgba(0,0,0,.24);position:relative}.property-searchbar--hero .property-searchbar .text-primary{color:var(--colour-primary)!important}@media screen and (min-width:62em){.property-searchbar--hero .property-searchbar{border-radius:3rem;padding:1.5rem 2.5rem}.property-searchbar--hero .property-searchbar .form-label,.property-searchbar--hero .property-searchbar label{margin-bottom:0}.property-searchbar--hero .property-searchbar .form-control,.property-searchbar--hero .property-searchbar .form-select{margin-left:-.5rem;border:none;padding-top:.25rem;padding-bottom:.25rem}.property-searchbar--hero .property-searchbar .form-select{background-position:right 0 center;padding-right:1rem}.property-searchbar--hero .property-searchbar .property-searchbar__btn{align-items:center}}.nav{background:var(--bs-body-bg)}.nav__inner{display:flex;flex-direction:column;flex-wrap:nowrap}.nav__inner>.container{padding-top:1rem;padding-bottom:1rem;flex-shrink:0;overflow:visible}.nav__menu{padding-bottom:1rem}.nav .brand{font-size:3rem}@media screen and (min-width:36em){.nav .brand{font-size:3.75rem}}.nav .nav__logo img{height:3rem;width:auto}@media screen and (min-width:36em){.nav .nav__logo img{height:3.75rem;width:auto}}.nav .nav__menu-btn,.nav .nav__search-btn{display:flex}.nav .nav__menu-btn label,.nav .nav__search-btn label{height:1.625rem;width:1.875rem;text-indent:-300%;overflow:hidden;position:relative;cursor:pointer;color:var(--colour-link)}.nav .nav__menu-btn label:focus,.nav .nav__menu-btn label:hover,.nav .nav__search-btn label:focus,.nav .nav__search-btn label:hover{color:var(--colour-hover)}.nav .nav__menu-btn label:active,.nav .nav__search-btn label:active{color:var(--colour-active)}.nav .nav__menu-btn label:after,.nav .nav__menu-btn label:before,.nav .nav__search-btn label:after,.nav .nav__search-btn label:before{content:"";position:absolute;width:0;height:2px;top:calc(50% - 1px);left:0;background:currentColor;transform-origin:50% 50%;transition:transform .5s,width .5s}.nav .nav__search-btn label{text-indent:0;overflow:visible}.nav .nav__search-btn .icon{height:2rem;width:2rem;margin-top:-.1875rem;margin-left:-.0625rem;transition:opacity .5s;color:inherit}.nav .nav__search-btn .icon__outline{stroke-width:2px;stroke:currentColor}.nav .nav__menu-btn{display:flex}.nav .nav__menu-btn label{border-top:2px solid currentColor;border-bottom:2px solid currentColor}.nav .nav__menu-btn label:after,.nav .nav__menu-btn label:before{width:70%}.nav .list-unstyled{padding-top:1rem}.nav .list-unstyled li .link:not(.text-decoration-none):not(.btn),.nav .list-unstyled li a:not(.text-decoration-none):not(.btn){text-decoration:none;display:inline-block;padding:.5rem 0 .5rem 0;margin-bottom:0;position:relative}.nav .list-unstyled li .link:not(.text-decoration-none):not(.btn):before,.nav .list-unstyled li a:not(.text-decoration-none):not(.btn):before{display:block;width:0;height:.25rem}.nav .list-unstyled li .link:not(.text-decoration-none):not(.btn).active:before,.nav .list-unstyled li .link:not(.text-decoration-none):not(.btn):active:before,.nav .list-unstyled li .link:not(.text-decoration-none):not(.btn):focus:before,.nav .list-unstyled li .link:not(.text-decoration-none):not(.btn):hover:before,.nav .list-unstyled li a:not(.text-decoration-none):not(.btn).active:before,.nav .list-unstyled li a:not(.text-decoration-none):not(.btn):active:before,.nav .list-unstyled li a:not(.text-decoration-none):not(.btn):focus:before,.nav .list-unstyled li a:not(.text-decoration-none):not(.btn):hover:before{width:100%}.nav .nav__title{display:block;padding:.5rem 0 .5rem 0}.nav .nav__menu--search{order:2;position:absolute;top:100%;left:0;width:100%;background:rgba(0,0,0,.6);height:calc(100vh - 5rem)}.nav[class*=bg-] .nav__menu--secondary{background-color:#fff!important}.nav[class*=bg-] .nav__menu--secondary>.container>.list-unstyled>li>a,.nav[class*=bg-] .nav__menu--secondary>.container>.list-unstyled>li>details>summary .link{--colour-link:var(--colour-link-theme);--colour-hover:var(--colour-hover-theme);--colour-active:var(--colour-active-theme)}.nav__menu--secondary{flex-grow:1;background:var(--colour-primary)}.nav__menu--secondary>.container>.list-unstyled>li>a,.nav__menu--secondary>.container>.list-unstyled>li>details>summary .link{--colour-body:#fff;--colour-link:#fff;--colour-hover:#fff;--colour-active:#fff;--colour-heading:#fff;--colour-underline:#fff;--colour-border:#fff}.nav__menu--secondary .link,.nav__menu--secondary a{display:inline-block;font-size:.9375rem;padding:.5rem 0 .5rem 0;text-decoration:none}.nav__menu--secondary .link:focus,.nav__menu--secondary .link:hover,.nav__menu--secondary a:focus,.nav__menu--secondary a:hover{text-decoration:underline!important}.nav--admin .brand{font-size:2rem}@media screen and (min-width:62em){.nav--admin .brand{font-size:2.5rem}}.nav--admin .nav__logo{height:2rem}@media screen and (min-width:62em){.nav--admin .nav__logo{height:2.5rem}.nav--admin .nav__btn .btn{padding-top:.5rem;padding-bottom:.5rem}}.nav{position:sticky;top:0;left:0;width:100%;z-index:var(--index-menu)}.nav.is-stuck{box-shadow:0 4px 20px -10px rgba(51,51,51,.25)}nav+main>:first-child{padding-top:2rem}@media screen and (min-width:62em){.nav.has-secondary:not(.nav--admin):not(.nav--marketplace){top:-2.5rem}.nav.has-secondary:not(.nav--admin):not(.nav--marketplace) .nav__inner{position:sticky;top:0;left:0;width:100%;z-index:var(--index-menu)}}.nav__btn,.nav__menu,.nav__menu--search,.nav__menu--secondary{display:none}#showMenu:checked~.nav__inner{height:100vh;overflow:auto}#showMenu:checked~div .nav__btn,#showMenu:checked~div .nav__menu,#showMenu:checked~div .nav__menu--secondary,#showMenu:not(:checked)~#showSearch:checked~div .nav__menu--search{display:block}#showMenu:checked~div .nav__menu-btn label,#showSearch:checked~div .nav__search-btn label{border:0}#showMenu:checked~div .nav__menu-btn label .icon,#showSearch:checked~div .nav__search-btn label .icon{opacity:0}#showMenu:checked~div .nav__menu-btn label:before,#showSearch:checked~div .nav__search-btn label:before{width:100%;transform:rotate(45deg)}#showMenu:checked~div .nav__menu-btn label:after,#showSearch:checked~div .nav__search-btn label:after{width:100%;transform:rotate(-45deg)}@media screen and (min-width:62em){.nav__logo{height:4rem}.nav__inner{overflow:visible}.nav .nav__menu{display:flex;padding-bottom:0}.nav__btn,.nav__menu--secondary{display:flex}.nav:not(.nav--admin) .nav__inner>.container{order:1}.nav:not(.nav--admin) .nav__menu--secondary{order:0}.nav:not(.nav--admin) .nav__menu--secondary .container{padding-bottom:0}.nav__btn,.nav__search-btn{order:2;margin-left:1rem}.nav__btn .btn,.nav__search-btn .btn{margin-bottom:0}.nav__menu>.list-unstyled{margin-left:-1.5rem!important;margin-right:-1.5rem!important;width:calc(100% + 3rem);margin-bottom:0;text-align:right;padding-top:0}.nav__menu>.list-unstyled>li{display:inline-block;padding-left:1.5rem;padding-right:1.5rem}.nav__menu--secondary>.container>.list-unstyled{margin-left:-1rem!important;margin-right:-1rem!important;width:calc(100% + 2rem);margin-bottom:0;text-align:right}.nav__menu--secondary>.container>.list-unstyled>li{display:inline-block;padding-left:1rem;padding-right:1rem}.nav:not(.nav--admin) .nav__menu--secondary>.container>.list-unstyled{font-size:.9375rem;padding-top:0}.nav.nav--admin .nav__menu--secondary>.container>.list-unstyled{text-align:left}}.nav .list-unstyled>li ul{padding-top:0;padding-left:1rem}@media screen and (min-width:62em){.nav .list-unstyled>li ul{padding-left:0}}.nav .list-unstyled>li ul li .link:not(.text-decoration-none):not(.btn):focus,.nav .list-unstyled>li ul li .link:not(.text-decoration-none):not(.btn):hover,.nav .list-unstyled>li ul li a:not(.text-decoration-none):not(.btn):focus,.nav .list-unstyled>li ul li a:not(.text-decoration-none):not(.btn):hover{text-decoration:underline}.nav .list-unstyled>li ul li .link:not(.text-decoration-none):not(.btn):before,.nav .list-unstyled>li ul li a:not(.text-decoration-none):not(.btn):before{display:none}.nav .list-unstyled>li .link:not(.text-decoration-none):not(.btn){padding:.5rem 1.5rem .5rem 0;display:inline-block;cursor:pointer;position:relative}.nav .list-unstyled>li .link:not(.text-decoration-none):not(.btn):after{content:"";position:absolute;top:50%;right:0;width:1.2em;height:1.2em;background:currentColor;mask-image:var(--icon-arrow);mask-size:50%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:50%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;transition:transform .2s ease-in-out;transform:rotate(90deg) translate(-50%)}@media screen and (min-width:62em){.nav .list-unstyled>li details{z-index:var(--index-above);padding:0 1rem;margin-left:-1rem;margin-right:-1rem;width:calc(100% + 2rem)}.nav .list-unstyled>li details:not(.nav__mega-menu){position:relative}}.nav .list-unstyled>li details .inner{padding-bottom:2rem}@media screen and (min-width:62em){.nav .list-unstyled>li details .inner{position:absolute;top:100%;right:0;min-width:100%;width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important;max-width:18.75rem;background:#fff;padding:1rem;box-shadow:0 4px 20px -10px rgba(51,51,51,.15)}}.nav .list-unstyled>li details[open] .link:not(.text-decoration-none):not(.btn):before{width:100%}.nav .list-unstyled>li details:focus .link:not(.text-decoration-none):not(.btn):before,.nav .list-unstyled>li details:focus-within .link:not(.text-decoration-none):not(.btn):before,.nav .list-unstyled>li details:hover .link:not(.text-decoration-none):not(.btn):before{width:100%}.nav .list-unstyled>li details:focus-within::details-content,.nav .list-unstyled>li details:focus::details-content,.nav .list-unstyled>li details:hover::details-content{display:contents}.nav .list-unstyled>li details:focus .inner,.nav .list-unstyled>li details:focus-within .inner,.nav .list-unstyled>li details:hover .inner{display:block!important}@media screen and (min-width:62em){.nav .list-unstyled>li details.nav__mega-menu{position:static;height:4.5rem;margin-bottom:-5rem}}.nav .list-unstyled>li details.nav__mega-menu .inner [class*=bg-]{--bs-bg-opacity:0}@media screen and (min-width:62em){.nav .list-unstyled>li details.nav__mega-menu .inner [class*=bg-]{--bs-bg-opacity:1}.nav .list-unstyled>li details.nav__mega-menu .inner{--bs-bg-opacity:1;position:absolute;top:100%;left:50%;width:100vw!important;max-width:100vw!important;transform:translateX(-50%);background:rgba(0,0,0,.6);height:calc(100vh - 8rem);pointer-events:none;padding-top:0}.nav .list-unstyled>li details.nav__mega-menu .inner .container{padding:0 1.5rem 1rem 1.5rem!important;max-width:90rem!important;text-align:left;pointer-events:all;display:flex}.nav .list-unstyled>li details.nav__mega-menu .inner .container>div{padding:2.25rem}}.nav--inline-search .nav__menu form{position:relative}.nav--inline-search .nav__menu form .form-control__wrapper .form-control{padding-right:3rem}.nav--inline-search .nav__menu form button{position:absolute;bottom:0;right:0;margin:0;z-index:var(--index-focus);border-color:transparent;background:transparent;padding:.85rem 0}.nav--inline-search .nav__menu form button .icon{stroke:currentColor}@media screen and (min-width:62em){.nav--inline-search .nav__menu>.list-unstyled{text-align:left;margin-right:0!important}.nav--inline-search .nav__menu form{min-width:21.875rem;position:relative}.nav--inline-search .nav__menu form .form-control__wrapper{margin-bottom:0;display:flex;align-items:center}.nav--inline-search .nav__menu form .form-control__wrapper label{white-space:nowrap;padding-right:1rem}.nav--inline-search .nav__menu form .form-control__wrapper .form-control{padding:.4375rem 3rem .4375rem 1rem}.nav--inline-search .nav__menu form button{padding:.5rem 0}}.nav--marketplace{--nav-border:#eee;--nav-height:6rem;--featured-hover-bg:#eee;border-bottom:1px solid var(--nav-border)}@media screen and (prefers-color-scheme:dark){.nav--marketplace{--featured-hover-bg:#001c22}}.nav--marketplace.nav--admin{--nav-height:4.5rem}.nav--marketplace .nav__logo a:not(.current){display:none}.nav--marketplace .nav__menu{height:100%;padding-top:1.5rem;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x)}.nav--marketplace .nav__featured-link:hover{background:var(--featured-hover-bg)}.nav--marketplace .list-unstyled a:before{display:none!important}.nav--marketplace .nav__menu-btn{margin-left:2rem}@media screen and (min-width:62em){.nav--marketplace .nav__inner>.container:not(.container-fluid){max-width:100%;padding-left:2rem;padding-right:2rem}.nav--marketplace .nav__logo{display:flex;justify-content:space-between}.nav--marketplace .nav__logo a:not(.current){display:inline-block}.nav--marketplace .nav__logo a:before{content:"";position:absolute;left:50%;top:100%;margin-top:.625rem;width:0;height:.375rem;background-color:var(--colour-underline);transform:translateX(-50%);transition:.3s ease-in;z-index:calc(var(--index-menu) + var(--index-above))}.nav--marketplace .nav__logo .current:before,.nav--marketplace .nav__logo a:hover:before{width:100%}.nav--marketplace #showMenu:checked~.nav__inner{height:auto;overflow:visible}.nav--marketplace .nav__menu{display:block;height:calc(100vh - var(--nav-height));width:25rem;position:absolute;top:var(--nav-height);z-index:60;background:var(--bs-body-bg);overflow-y:auto;box-shadow:-.5rem 1rem 1rem rgba(0,0,0,.05);border-top:1px solid var(--nav-border);border-left:1px solid var(--nav-border);transition:right .3s ease-in-out;padding:2.5rem;right:-26rem}.nav--marketplace #showMenu:checked~.nav__inner .nav__menu{right:0}.nav--marketplace .nav__menu{padding-top:1.5rem;padding-left:2rem;padding-right:1.5rem}.nav--marketplace .nav__menu>.list-unstyled{text-align:left}.nav--marketplace .nav__menu>.list-unstyled li{width:100%}.nav--marketplace .nav__menu--secondary{position:absolute;top:calc(var(--nav-height) + 1px);left:0;height:calc(100vh - var(--nav-height) - 1px);width:17.5rem;overflow:auto}.nav--marketplace .nav__menu--secondary .container{padding-left:2rem;padding-right:1.5rem;padding-bottom:3rem}.nav--marketplace .nav__menu--secondary .list-unstyled{text-align:left}.nav--marketplace .nav__menu--secondary .list-unstyled li{width:100%}.main--marketplace{padding-left:17.5rem}.main--marketplace .container{--container-padding:2rem;--container-padding-x:2rem;max-width:100%!important}}.drawer__btn{position:sticky;bottom:1.5rem;left:0;width:100%;z-index:var(--index-floating);margin-bottom:-6rem}.drawer__btn .btn{margin-bottom:0}.drawer{margin-top:1rem;padding-top:2rem;position:relative;z-index:var(--index-menu);background:#fff;background:linear-gradient(180deg,transparent,#fff 1.5rem,#fff)}.drawer>.container:first-child{display:none;margin-bottom:-2rem;position:relative;z-index:var(--index-focus)}#showDrawer:checked~.drawer{position:sticky;bottom:0;left:0;width:100%;background:#fff;box-shadow:0 -1px 20px -10px rgba(51,51,51,.25)}#showDrawer:checked~.drawer>.container:first-child{display:block}.modal{display:none}.modal:target{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.25);z-index:var(--index-overlay);border:none;-ms-scroll-chaining:none;overscroll-behavior:contain}.modal:target>a:first-child{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 512 512'%3E%3Cg transform='rotate(45 256 256)'%3E%3Crect id='a' x='16' y='216' width='480' height='80' rx='14'/%3E%3Cuse href='%23a' transform='rotate(90 256 256)'/%3E%3C/g%3E%3C/svg%3E") 8 8,pointer}.modal:target>button{display:none}@media screen and (min-width:62em){.modal:target>button{display:block;position:absolute;z-index:var(--index-focus);top:50%;transform:translateY(-50%);overflow:hidden;text-indent:300%;width:2rem;height:2rem}.modal:target>button.btn:not(:hover):not(:focus){background-color:#fff}.modal:target>button.modal__dock--left{right:calc(50% + 26.625rem)}.modal:target>button.modal__dock--left:after{transform:rotate(-180deg)}.modal:target>button.modal__dock--right{left:calc(50% + 26.625rem)}}.modal:target.modal--left button.modal__dock--left{display:none}.modal:target.modal--left button.modal__dock--right{left:42rem}.modal:target.modal--right button.modal__dock--right{display:none}.modal:target.modal--right button.modal__dock--left{right:42rem}.modal__outer{position:absolute;top:50%;left:50%;width:90%;max-width:51.25rem;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;max-height:90%;overflow:visible;transform:translate(-50%,-50%)}.modal__outer>.btn:first-child{position:absolute;top:0;right:0;margin-top:-.75rem;margin-right:-.75rem;z-index:var(--index-focus)}.modal__outer>.btn:first-child:not(:hover):not(:focus):not(:active){background:#fff}@media screen and (min-width:62em){.modal--left .modal__outer{left:1rem;transform:translateY(-50%);max-width:40rem}.modal--right .modal__outer{left:auto;right:1rem;transform:translateY(-50%);max-width:40rem}}.modal__inner{background:#fff;-ms-scroll-chaining:none;overscroll-behavior:contain;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;max-height:90vh;overflow:auto}.modal__inner>:first-child{padding:1rem}@media screen and (min-width:36em){.modal__inner>:first-child{padding:2rem}}.stepper{background:#f0f0f0;display:flex;flex-wrap:wrap;margin-bottom:2rem;border:1px solid var(--bs-body-bg);overflow:hidden}@media screen and (min-width:62em){.stepper{flex-wrap:nowrap;overflow-x:auto}}.stepper ol{margin:0;z-index:1;background:var(--bs-body-bg);counter-reset:section;width:100%;overflow:auto}@media screen and (min-width:36em){.stepper ol{display:flex;flex-grow:1;padding-right:calc(2rem + 1px);margin-top:-1px;margin-bottom:-1px;margin-right:calc(-2rem - 2px);-webkit-clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 50%,calc(100% - 2rem) 100%,0 100%);clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 50%,calc(100% - 2rem) 100%,0 100%)}}@media screen and (min-width:62em){.stepper ol{overflow:initial}}.stepper ol li{width:100%;max-width:100%;background:var(--bs-body-bg);padding:1px}@media screen and (min-width:36em){.stepper ol li:first-child a{padding-left:1rem;-webkit-clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 50%,calc(100% - 2rem) 100%,0 100%);clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 50%,calc(100% - 2rem) 100%,0 100%)}}@media screen and (min-width:62em){.stepper ol li:first-child a{padding-left:2rem}}.stepper ol li a{display:block;padding:1rem;text-decoration:none;background:var(--colour-muted);line-height:1;position:relative;color:var(--colour-primary)}@media screen and (min-width:36em){.stepper ol li a{margin-right:-2rem;padding:2rem 3rem 2rem 3rem;-webkit-clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 50%,calc(100% - 2rem) 100%,0 100%,2rem 50%);clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 50%,calc(100% - 2rem) 100%,0 100%,2rem 50%);display:flex;height:100%;vertical-align:baseline;justify-content:center;align-items:center}}.stepper ol li a span{position:relative;display:inline;padding-left:2.25rem}.stepper ol li a span:before{counter-increment:section;content:counter(section);display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);margin-right:.5rem;font-size:.75em;border-radius:50%;border:2px solid currentColor;height:1.5rem;line-height:1.3rem;width:1.5rem;font-family:var(--font-heading);text-align:center}.stepper ol li a.bg-danger span:before,.stepper ol li a.bg-warning span:before{content:"!"}.stepper ol li a.bg-success span:before{content:"✓";text-indent:-.1em}.stepper ol li a.current{background:var(--colour-primary);color:#fff;pointer-events:none}.stepper ol li a:not([href]){pointer-events:none}.stepper ol li a[href]:hover{opacity:.6}.stepper ol li a[href]:active{opacity:.8}.stepper>span{width:100%;display:flex;padding:1rem;flex-shrink:0;margin:0;position:relative;z-index:0;align-items:center}.stepper>span.stepper__end{display:none}@media screen and (min-width:62em){.stepper>span{width:-webkit-max-content;width:-moz-max-content;width:max-content;padding:2rem 2rem}.stepper>span.stepper__end{padding-left:3.5rem;display:flex}}.tabs__container{position:relative}.tabs__container .tab__input{position:absolute;top:0;left:0;opacity:0}.tabs__container>.tabs__links{margin-bottom:1.5rem;overflow:hidden}.tabs__container>.tabs__links .link:not(.text-decoration-none):not(.btn){--is-current:0;font-weight:700;font-family:var(--font-heading);font-size:1.125rem;cursor:pointer;margin:0 0 .5rem 0;float:left;clear:both}@media screen and (min-width:36em){.tabs__container>.tabs__links .link:not(.text-decoration-none):not(.btn){clear:none;margin-bottom:0;margin-right:2rem}}.tabs__container>.tabs__links .link:not(.text-decoration-none):not(.btn):before{width:0;width:calc(var(--is-current)*100%)}.tabs__container>.tabs__links .link:not(.text-decoration-none):not(.btn):focus:before,.tabs__container>.tabs__links .link:not(.text-decoration-none):not(.btn):hover:before{width:100%}.tabs__container .tab{display:none}.tabs__container input:focus-visible~.tabs__links{outline:1px outset blue}.tabs__container input:checked:first-child~.tabs__links .link:not(.text-decoration-none):not(.btn):first-child{--is-current:1;--panel-tab-colour:#fff;--panel-tab-border:var(--colour-secondary)}.tabs__container input:checked:first-child~.tabs>.tab:first-child{display:block;display:contents}.tabs__container input:checked:nth-child(2)~.tabs__links .link:not(.text-decoration-none):not(.btn):nth-child(2){--is-current:1;--panel-tab-colour:#fff;--panel-tab-border:var(--colour-secondary)}.tabs__container input:checked:nth-child(2)~.tabs>.tab:nth-child(2){display:block;display:contents}.tabs__container input:checked:nth-child(3)~.tabs__links .link:not(.text-decoration-none):not(.btn):nth-child(3){--is-current:1;--panel-tab-colour:#fff;--panel-tab-border:var(--colour-secondary)}.tabs__container input:checked:nth-child(3)~.tabs>.tab:nth-child(3){display:block;display:contents}.tabs__container input:checked:nth-child(4)~.tabs__links .link:not(.text-decoration-none):not(.btn):nth-child(4){--is-current:1;--panel-tab-colour:#fff;--panel-tab-border:var(--colour-secondary)}.tabs__container input:checked:nth-child(4)~.tabs>.tab:nth-child(4){display:block;display:contents}.tabs__container input:checked:nth-child(5)~.tabs__links .link:not(.text-decoration-none):not(.btn):nth-child(5){--is-current:1;--panel-tab-colour:#fff;--panel-tab-border:var(--colour-secondary)}.tabs__container input:checked:nth-child(5)~.tabs>.tab:nth-child(5){display:block;display:contents}.tabs__container input:checked:nth-child(6)~.tabs__links .link:not(.text-decoration-none):not(.btn):nth-child(6){--is-current:1;--panel-tab-colour:#fff;--panel-tab-border:var(--colour-secondary)}.tabs__container input:checked:nth-child(6)~.tabs>.tab:nth-child(6){display:block;display:contents}.tabs__container input:checked:nth-child(7)~.tabs__links .link:not(.text-decoration-none):not(.btn):nth-child(7){--is-current:1;--panel-tab-colour:#fff;--panel-tab-border:var(--colour-secondary)}.tabs__container input:checked:nth-child(7)~.tabs>.tab:nth-child(7){display:block;display:contents}.tabs__container input:checked:nth-child(8)~.tabs__links .link:not(.text-decoration-none):not(.btn):nth-child(8){--is-current:1;--panel-tab-colour:#fff;--panel-tab-border:var(--colour-secondary)}.tabs__container input:checked:nth-child(8)~.tabs>.tab:nth-child(8){display:block;display:contents}.tabs__container input:checked:nth-child(9)~.tabs__links .link:not(.text-decoration-none):not(.btn):nth-child(9){--is-current:1;--panel-tab-colour:#fff;--panel-tab-border:var(--colour-secondary)}.tabs__container input:checked:nth-child(9)~.tabs>.tab:nth-child(9){display:block;display:contents}.tabs__container input:checked:nth-child(10)~.tabs__links .link:not(.text-decoration-none):not(.btn):nth-child(10){--is-current:1;--panel-tab-colour:#fff;--panel-tab-border:var(--colour-secondary)}.tabs__container input:checked:nth-child(10)~.tabs>.tab:nth-child(10){display:block;display:contents}.admin-panel>.tabs__container:first-child,.admin-panel>.tabs__container:first-child>.tabs{display:contents}.admin-panel>.tabs__container:first-child>.tabs__links{padding-bottom:0}.admin-panel>.tabs__container:first-child>.tabs__links .link:not(.text-decoration-none):not(.btn){margin-bottom:0}.alert__inner{position:relative;padding:1.5rem;margin-bottom:2rem;border-radius:.25rem}.alert__inner:not(.bg-primary):not(.bg-dark):not(.bg-danger){--colour-body:#000;color:#000}.alert__inner>:last-child{margin-bottom:0}.alert__inner>*{max-width:100%}.alert--fixed{position:fixed;padding-top:2rem;z-index:var(--index-floating);left:50%;transform:translate(-50%);bottom:0}.alert--dismissible .alert__inner{padding-right:4rem;overflow:hidden}.alert--dismissible .alert__inner .btn-close{position:absolute;top:1.5rem;right:1.5rem;height:1rem;width:1rem;padding:0;border:none;z-index:var(--index-focus);background:currentColor;-webkit-mask-image:var(--icon-close);mask-image:var(--icon-close);-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%}.alert__holder{position:fixed;z-index:var(--index-floating);bottom:0;left:0;width:100%;max-height:100vh;overflow:auto;background:linear-gradient(transparent,rgba(0,0,0,.4))}.alert__holder>:first-child{margin-top:2rem}.alert__holder .alert--fixed{position:static;transform:none;padding-top:0}[data-timeout] .alert__inner:after{content:"";position:absolute;bottom:0;left:0;width:0;height:.25rem;background:#000;-webkit-animation:progress var(--animation-length) linear;animation:progress var(--animation-length) linear}@-webkit-keyframes progress{0%{width:0}to{width:100%}}@keyframes progress{0%{width:0}to{width:100%}}
2
- /*# sourceMappingURL=components.css.map*/
@@ -1 +0,0 @@
1
- {"version":3,"file":"components.css","mappings":"AAGA,WACE,0BAA2B,CAC3B,8BAA+B,CAC/B,0BAA2B,CAC3B,+BACA,6BCFE,mCDHJ,WASI,8BAA+B,CAC/B,0BAA2B,CAC3B,2BACA,8BAIJ,kBAEE,qHACA,4BACA,gBACA,4BE4YoB,CF3YpB,qBGTI,qJHUJ,CAEA,mCAAoC,CACpC,eACA,kBGVI,sCHDN,kBGEQ,iBHWN,yBACE,sBACA,iBACA,kBACA,mBAIF,iDAGE,WACA,kBACA,8BACA,8BACA,2CACA,iCACA,kCAGF,yBACE,iBACA,mBACA,gBACA,4BACA,mBAIF,wBACE,wBACA,6BACA,cACA,sBACA,sBAEA,qCACA,sBACA,8BACA,8BGvDE,oCHyDF,CACA,wBGtDE,sCHyCJ,wBGxCM,iBHwDN,gDAGE,iCAAkC,CAClC,0BAOF,gDAHE,0BI4pB4B,CJzpB9B,wBAEE,oBIwwBoC,CJvwBpC,UACA,4CIqpB4B,CJlpB9B,iCACE,4BACA,4BE2UyB,CFzUzB,uCAEE,yBAQJ,sCAEE,6CACA,mBAEA,6CACE,0BAIJ,4CACE,WAGF,oCAEE,iBAOJ,kBACE,gBAGF,gBACE,4BEuSa,CFtSb,6CACA,mBAEA,8BACE,0CAGF,gCACE,iBAIJ,gBACE,gBACA,kCAKA,sHAEE,yBAGF,6CACE,0BAQF,kCAEE,iBAGF,iCAEE,oBAGF,wCACE,+CAEA,6FAEE,WACA,YACA,WACA,YAEF,+CACE,qCK5LN,MACE,kBACA,aACA,sBACA,YAEA,qBACA,qBDHS,CCIT,2BACA,gCCME,sBDFF,SACE,eACA,cAGF,kBACE,mBACA,sBAEA,8BACE,mBCCF,0CACA,2CDEA,6BACE,sBCUF,8CACA,6CDJF,8DAEE,aAIJ,WAGE,cACA,uBAIF,YACE,mBDirCkC,CC9qCpC,eACE,kBACA,CAGF,qCAHE,eAIA,CAQA,sBACE,mBHgSY,CGxRhB,aACE,uBACA,gBAEA,4BH4RY,CG3RZ,uCAEA,yBCpEE,wDDyEJ,aACE,uBAEA,4BHiRY,CGhRZ,oCAEA,wBC/EE,wDDyFJ,kBAEE,sBAEA,gBAUF,qCAbE,sBAEA,oBAaA,CAIF,kBACE,kBACA,MACA,QACA,SACA,OACA,YDgPO,CEnWL,iCDuHJ,yCAGE,WAGF,wBCpHI,0CACA,2CDwHJ,2BC3GI,8CACA,6CDuHF,kBACE,oBDklCgC,CH/uChC,mCIyJJ,YAQI,aACA,mBAGA,kBAEE,YACA,gBAEA,wBACE,cACA,cAKA,mCCpJJ,0BACA,6BDsJM,iGAGE,0BAEF,oGAGE,6BAIJ,oCCrJJ,yBACA,4BDuJM,mGAGE,yBAEF,sGAGE,6BE3MZ,OAEE,eAEA,cACE,aAIJ,yBNyHE,sCAAuC,CACvC,sCAAuC,CACvC,sCAAuC,CACvC,wCAAyC,CACzC,0CAA2C,CAE3C,0CAA2C,CAC3C,oCAAqC,CAErC,8BAA+B,CAC/B,gCAAiC,CACjC,sCAAuC,CACvC,uCAAwC,CACxC,8BAAgC,CAEhC,uCACE,sCMrIJ,MAEE,iBACA,oDACA,gBACA,gBACA,qBAEA,wBAEE,kBAEA,wEACE,oCAIJ,aACE,mBAIJ,sBACE,iBACA,gBACA,kBACA,gBACA,0BAEA,wBAEE,kBACA,MACA,OACA,WACA,YAGF,kCACE,kBACA,MACA,OACA,WACA,YACA,qCAGF,mCACE,aACA,iBACA,sBACA,uBACA,8BAGF,iCACE,kBACA,MACA,QACA,UACA,cACA,WACA,yCACA,+CAIJ,WAEE,yBAEA,uBACE,gBAIJ,aACE,cAIF,4BAEE,mBAKF,cAEE,gBACA,aACA,gBAEA,oCD9FE,sBCiGA,mBAGF,yBACE,cAEF,oDAEE,eACA,gBAQF,8FAGE,aAGF,yBACE,gBACA,iBACA,kBAEA,+DAGE,WACA,kBACA,OACA,MACA,YACA,aAEF,gCAEE,WACA,wBACA,6BACA,cACA,sBACA,sBAEA,qCACA,sBACA,8BACA,8BAGF,+BACE,8BACA,kBCxKN,kDAEE,oBAEA,mEACE,kBAGF,8DACE,oBAqBJ,0DAdE,gDACE,kBACA,MACA,OACA,YACA,YACA,UAEF,wHAEE,mCPvBA,mCOaF,0EACE,kBACA,MACA,OACA,YACA,YACA,UAEF,4KAEE,mCA2BF,wHACE,aAGF,4FACE,oBAGF,kCACE,aP3DA,mCOgEA,0BACE,aACA,2CACA,kCACA,0CACA,iGACE,CAGF,YAAY,CAEd,2CACE,mBAEF,iDACE,aAGF,4CACE,gBAGF,4CACE,gBAGF,4CACE,gBAGF,+BACE,WACA,YAAY,CAAZ,CCnGN,UACE,oBAEA,6BAEE,kBAGF,2BAEE,mBACA,cACA,8DACA,0CACA,yCAEA,gCACE,iBACA,SAEA,qCACE,oBACA,sBACA,wBACA,2CAKN,sCACE,gBACA,iBAMJ,iCAEE,qBAEA,wBAGF,oDAEE,aAKF,8BACE,sBAGF,4CACE,aAGF,8BACE,kBACA,kBACA,WACA,OACA,wBACA,kBACA,mBACA,aAEA,gCACE,WACA,YACA,gBACA,kBACA,mBACA,gBACA,wBACA,UACA,2BAmBJ,0LACE,aAGF,2CAEE,oBACA,qBAGF,kCACE,kBACA,QACA,cACA,2BAEA,2CACE,UACA,eRhHA,mCQwGJ,kCAaI,kBACA,oBAOJ,iDACE,wBR9HE,mCQmIF,gDAEE,qBAGF,0DACE,wBAGF,0TAKE,wBAEA,waACE,iBAIJ,+TAKE,aAIF,4rBAKE,aAIF,+CACE,aAGF,wCAEE,cACA,gBRjLA,mCQuLF,0DACE,wBACA,cAGF,0TAKE,wBAEA,waAEE,iBAIJ,+TAKE,aAIF,4rBAKE,aAIF,+CACE,aAGF,wCAEE,cACA,gBCtOJ,eACE,qFACA,mBACA,kBACA,mDAJF,eAMI,sBAGF,0BACE,iBACA,kBAGF,sBTwHA,sCAAuC,CACvC,sCAAuC,CACvC,sCAAuC,CACvC,wCAAyC,CACzC,0CAA2C,CAE3C,0CAA2C,CAC3C,oCAAqC,CAErC,8BAA+B,CAC/B,gCAAiC,CACjC,sCAAuC,CACvC,uCAAwC,CACxC,8BAAgC,CSjI9B,yBACA,gBACA,aACA,kBACA,kBACA,2BT8HF,oCACE,sCAlJA,mCSUF,sBAYI,kBACA,qBACA,qBAEF,kCACE,iBACA,gBAIJ,2BACE,aTjCA,mCSgCF,2BAGI,cACA,kBACA,SACA,SACA,YACA,qCACA,UACA,qBAIJ,sCAEE,kBACA,qBTjDA,mCS8CF,sCAMI,kBACA,MACA,cC1DN,aAEE,0BAA2B,CAC3B,0BAA2B,CVCzB,mCUJJ,aAMI,0BAA2B,CAC3B,0BAA2B,CAA3B,CAIF,6BAEE,kBACA,gBAGF,qBACE,mBACA,kBACA,WACA,YACA,gBACA,iBAGF,qBACE,cACA,8DACA,aACA,qFACA,mBACA,iBV5BA,mCUsBF,qBAUI,iBVhCF,mCUsBF,qBAcI,gBACA,8DACA,sBACA,oBAGF,yBAEE,wBACA,qFACA,oBACA,cAIJ,oCACE,aAGF,uDACE,cACA,kBACA,SACA,SACA,8BV5DA,mCUuDF,uDAQI,UACA,YACA,QACA,QACA,0CACA,yBAKJ,gBACE,qEV1EA,mCUyEF,gBAII,kBV7EF,mCUyEF,gBAOI,kBAIJ,sBAEE,mBAAoB,CACpB,0FACA,kBVxFA,mCUoFF,sBAOI,oBAAqB,CAErB,+CACE,kBACA,OAQJ,qkBACE,4BACA,UACA,qFACA,oBAIJ,oBAEE,8FAKJ,wCACE,aAIF,qBACE,wBACA,qBC9HA,6BACE,qDADF,6BAII,kBACA,qBAEA,mCACE,WACA,kBACA,MACA,YACA,cACA,YACA,UACA,qCACA,aAKN,2CACE,mBXrBA,mCWoBF,2CAII,iBAIJ,0DAEE,kBACA,yBX/BA,mCWqCE,0CACE,aAIJ,mEAEE,iCAGF,iCACE,wCAIJ,sCACE,qBAGF,mCACE,kBACA,SACA,YACA,WX5DA,mCWwDF,mCAOI,cAGF,yCACE,aAGF,0CACE,6BACA,yBXxEF,mCW6EA,6CACE,sBAIJ,2BACE,gBACA,mBXpFA,mCWkFF,2BAKI,SACA,oBACA,sBAON,8CXkCE,sCAAuC,CACvC,sCAAuC,CACvC,sCAAuC,CACvC,wCAAyC,CACzC,0CAA2C,CAE3C,0CAA2C,CAC3C,oCAAqC,CAErC,8BAA+B,CAC/B,gCAAiC,CACjC,sCAAuC,CACvC,uCAAwC,CACxC,8BAAgC,CW3ChC,aACA,sBACA,WACA,sBAEA,uCACA,kBXuCA,4DACE,sCAlJA,mCWgGJ,8CAcI,mBACA,sBAEA,8GAEE,gBAGF,uHAEE,mBACA,YACA,mBACA,sBAGF,2DACE,mCACA,mBAGF,uEACE,oBCxIN,KAEE,6BAGA,YAEE,aACA,sBACA,iBAEA,uBAEE,iBACA,oBACA,cACA,iBAIJ,WACE,oBAGF,YACE,eZrBA,mCYoBF,YAII,mBAIJ,oBACE,YACA,WZ9BA,mCY4BF,oBAKI,eACA,YAIJ,0CAGE,aAEA,sDACE,gBACA,eACA,kBACA,gBACA,kBACA,eAEA,yBAEA,oIAGE,0BAGF,oEAEE,2BAGF,sIAEE,WACA,kBACA,QACA,WACA,oBACA,OACA,wBACA,yBACA,mCAMJ,4BACE,cACA,iBAEF,4BACE,YACA,WACA,qBACA,sBACA,uBACA,cAEA,qCAEE,iBACA,oBAKN,oBACE,aAEA,0BAEE,kCACA,qCAEA,iEAEE,UAKN,oBACE,iBAGF,gIAEE,qBAEA,qBACA,wBACA,gBACA,kBAEA,8IACE,cACA,QACA,cAGF,4mBAIE,WAIJ,iBACE,cACA,wBAGF,wBACE,QACA,kBACA,SACA,OACA,WAEA,0BACA,0BAOF,uCAEE,gCAEF,gKAGE,sCAAuC,CACvC,wCAAyC,CACzC,0CAA2C,CAK/C,sBACE,YAEA,iCAEA,8HAEE,kBAAoB,CACpB,kBAAoB,CACpB,mBAAqB,CACrB,oBAAsB,CACtB,qBAAuB,CACvB,uBAAyB,CACzB,oBAAsB,CAGxB,oDAEE,qBACA,mBACA,wBACA,qBAEA,gIAEE,oCAQJ,mBACE,eZlNA,mCYiNF,mBAII,kBAGJ,uBAEE,YZ1NA,mCYwNF,uBAMI,cAKF,2BACE,kBACA,qBAPA,CAcN,KAEE,gBACA,MACA,OACA,WACA,0BAEA,cAGE,+CAIJ,sBACE,iBZ5PE,mCYgQF,2DAEE,YAEA,uEACE,gBACA,MACA,OACA,WACA,2BAON,8DAKE,aAGF,8BAEE,aACA,cAGF,gLAIE,cAKF,0FAGE,SAEA,sGACE,UAEF,wGACE,WACA,wBAEF,sGAEE,WACA,yBZtTA,mCY8TF,WACE,YAEF,YACE,iBAGF,gBACE,aACA,iBAGF,gCAEE,aAKA,6CACE,QAEF,4CACE,QAEA,uDACE,iBAKN,2BAEE,QACA,iBAEA,qCACE,gBAIJ,0BACE,8BACA,+BACA,wBACA,gBACA,iBACA,cAEA,6BACE,qBACA,oBACA,qBAIJ,gDACE,4BACA,6BACA,wBACA,gBACA,iBAEA,mDACE,qBACA,kBACA,mBAKJ,sEACE,mBACA,cAGF,gEACE,iBAaA,0BAEE,cACA,kBZ3ZF,mCYwZA,0BAMI,gBAMA,gTAEE,0BAIF,0JACE,aAKN,kEACE,6BACA,qBACA,eACA,kBAEA,wEACE,WACA,kBACA,QACA,QACA,YACA,aAEA,wBACA,6BACA,cACA,sBACA,sBACA,qCACA,sBACA,8BACA,8BACA,qCACA,wCZxcJ,mCY6cA,+BAGI,2BACA,eACA,kBACA,mBACA,wBAKF,oDAEE,kBAPA,CAWJ,sCAEE,oBZjeF,mCY+dA,sCAMI,kBACA,SACA,QACA,eACA,iGACA,mBACA,gBACA,aACA,gDASA,uFACE,WAWF,4QACE,WAGJ,0LACA,2IACE,wBZxgBJ,mCYmhBJ,8CAII,gBAEA,cACA,qBAKA,kEAEE,iBAAkB,CZjiBpB,mCY+hBA,kEAII,iBAAkB,CANxB,qDAaI,iBAAkB,CAClB,kBACA,SACA,SACA,sBACA,0BAGA,2BAEA,0BACA,0BAEA,oBACA,cAEA,gEACE,uCACA,0BACA,gBACA,mBACA,aAEA,oEACE,gBA/BF,CA0CN,oCACE,kBACA,yEACE,mBAGF,2CACE,kBACA,SACA,QACA,SACA,2BACA,yBACA,uBACA,iBAEA,iDACE,oBZ9lBJ,mCYomBA,8CACE,gBACA,yBAGF,oCACE,oBACA,kBAEA,2DACE,gBACA,aACA,mBAEA,iEACE,mBACA,mBAGF,yEACE,oCAIJ,2CACE,iBAQR,kBAEE,iBAAqB,CACrB,iBAAkB,CAClB,wBAA4B,CAY5B,0CAVA,8CANF,kBAQI,2BAA4B,CAA5B,CAGF,6BAEE,mBAAoB,CAOpB,6CACE,aAIJ,6BACE,YACA,mBACA,wCACA,yCAGF,4CACE,oCAIA,0CACE,uBAIJ,iCACE,iBZhrBA,mCYqrBA,+DACE,eACA,kBACA,mBAGF,6BACE,aACA,8BAGA,6CACE,qBAGF,sCACE,WACA,kBACA,SACA,SACA,mBACA,QACA,eZ1qBJ,yCY8qBI,2BAEA,uBACA,qDAGF,yFAGE,WAKJ,gDACE,YACA,iBAEF,6BACE,cACA,uCACA,YACA,kBACA,sBACA,WACA,6BACA,gBACA,4CACA,uCACA,wCACA,iCACA,eACA,aAEF,2DACE,QAGF,6BAEI,mBACA,kBACA,qBAEF,4CACE,gBAEA,+CACE,WAON,wCACE,kBACA,kCACA,OACA,6CACA,cACA,cAEA,mDAEA,kBACA,qBACA,oBAGA,uDACE,gBAEA,0DACE,WASR,mBACE,qBAEA,8BACE,wBAAyB,CACzB,0BAA2B,CAC3B,yBAfI,CC7xBV,aAEE,gBACA,cACA,OACA,WACA,8BACA,oBAEA,kBACE,gBAIJ,QASE,gBACA,iBACA,kBACA,0BACA,gBACA,gEAZA,+BACE,aACA,oBACA,kBACA,2BAWJ,4BAEE,gBACA,SACA,OACA,WACA,gBAEA,gDAEA,mDACE,cCzCJ,OACE,aAGF,cACE,cACA,eACA,MACA,OACA,WACA,YACA,2BACA,6BACA,YACA,qDAEA,4BAEE,kBACA,MACA,OACA,WACA,YACA,UACA,kUAkBI,sBAGF,gDACE,qBAEA,gCACE,0BAGJ,mDACE,4BAMN,8DAIA,6DACE,2BAGF,8CAIA,kEACE,0BAOF,qDAKA,2EAEA,sDAGA,iEAIE,WACA,eACA,yBAEA,iEACE,wBd/FF,kCcmGA,gDAEE,gCAIF,uBACE,QACA,mBACA,qBACA,2BAKN,qEAEE,eACA,+DACA,SACA,2BAEA,gBAEE,6Bd3HA,oBcyHF,2BAKI,6TCpIN,SCEA,kBACE,aACA,eACA,mBACA,mCACA,gBACA,oChBFE,SgBJJ,gBAUI,gBACA,cAGF,QACE,UACA,6BACA,sBACA,WACA,cACA,oChBhBA,YgBUF,YAUI,YACA,+BACA,gBACA,mBACA,+BACA,0FACA,CADA,iFACA,qChB1BF,YgBUF,gBAoBI,iBAGF,UACE,eACA,6BACA,YACA,oChBrCF,6BgBwCI,iBACE,0FACA,CADA,iFACA,qChB1CN,6BgB+CI,iBACE,mBAIJ,aACE,aACA,qBACA,CACA,8BACA,cACA,kBACA,4BACA,oChB5DJ,iBgBoDE,kBAYI,4BACA,mGACA,CADA,0FACA,aACA,YACA,wBACA,uBACA,mBACA,wBAGF,iBACE,eACA,qBACA,8BAEA,yBACE,yBACA,cACA,kBACA,QACA,OACA,2BACA,mBACA,gBACA,kBACA,8BACA,cACA,mBACA,aACA,gCACA,kBACA,gFAIJ,WAEE,yCAGF,WACE,kBACA,0BAGF,gCACE,WACA,oBACA,8BAGF,mBACE,8BAGF,UACE,+BAEF,UAEE,eAQR,UAEE,aACA,aACA,cACA,SACA,kBACA,UACA,mBACA,4BAEA,YACE,oChBhJF,cgBoIF,yBAiBI,CAjBJ,sBAiBI,CAjBJ,iBAiBI,kBACA,4BAEA,mBACE,aACA,EC9JR,iBAEE,kBAEA,6BACE,kBACA,MACA,OACA,UAGF,8BACE,qBACA,gBAEA,yEACE,cAAe,CACf,gBACA,gCACA,mBACA,eACA,mBACA,WACA,WjBnBF,mCiBWA,yEAWI,WACA,gBACA,mBAGF,gFACE,QACA,mCAGF,4KAEE,WAKN,sBACE,aAGF,kDACE,wBAIA,+GAEE,cAAe,CACf,uBAAyB,CACzB,2CAEF,kEACE,cACA,iBARF,iHAEE,cAAe,CACf,uBAAyB,CACzB,2CAEF,oEACE,cACA,iBARF,iHAEE,cAAe,CACf,uBAAyB,CACzB,2CAEF,oEACE,cACA,iBARF,iHAEE,cAAe,CACf,uBAAyB,CACzB,2CAEF,oEACE,cACA,iBARF,iHAEE,cAAe,CACf,uBAAyB,CACzB,2CAEF,oEACE,cACA,iBARF,iHAEE,cAAe,CACf,uBAAyB,CACzB,2CAEF,oEACE,cACA,iBARF,iHAEE,cAAe,CACf,uBAAyB,CACzB,2CAEF,oEACE,cACA,iBARF,iHAEE,cAAe,CACf,uBAAyB,CACzB,2CAEF,oEACE,cACA,iBARF,iHAEE,cAAe,CACf,uBAAyB,CACzB,2CAEF,oEACE,cACA,iBARF,mHAEE,cAAe,CACf,uBAAyB,CACzB,2CAEF,sEACE,cACA,iBAUJ,0FACE,iBAGF,uDAEE,iBAEA,kGAEE,gBC9EJ,cACE,kBACA,eACA,mBbYA,qBaRA,6DACE,kBAAoB,CACpB,WAGF,0BACE,gBAGF,gBACE,eAIJ,cACE,eACA,iBACA,8BACA,SACA,0BACA,SAKJ,kCACE,mBACA,gBAGA,6CACE,kBACA,WACA,aACA,YACA,WACA,SAAS,CACT,YACA,2BACA,wBACA,kEACA,sCACA,oDACA,oDAIJ,eACE,eACA,8BACA,SACA,OACA,WACA,iBACA,cACA,uDAEA,4BACE,gBAGF,6BACE,gBACA,eACA,cAIJ,mCAEE,WACA,kBACA,SACA,OACA,QACA,cACA,gBACA,4GAGF,4BACE,GACE,QAEF,GACI,YALN,oBACE,GACE,QAEF,GACI","sources":["webpack://components/./assets/sass/components/accordion.scss","webpack://components/./assets/sass/_functions/mixins.scss","webpack://components/./assets/sass/_functions/variables.scss","webpack://components/./node_modules/bootstrap/scss/mixins/_transition.scss","webpack://components/./node_modules/bootstrap/scss/_variables.scss","webpack://components/./node_modules/bootstrap/scss/_card.scss","webpack://components/./node_modules/bootstrap/scss/mixins/_border-radius.scss","webpack://components/./assets/sass/elements/card.scss","webpack://components/./assets/sass/components/cardDeck.scss","webpack://components/./assets/sass/components/carousel.scss","webpack://components/./assets/sass/components/header.scss","webpack://components/./assets/sass/components/testimonial.scss","webpack://components/./assets/sass/components/property-searchbar.scss","webpack://components/./assets/sass/components/nav.scss","webpack://components/./assets/sass/components/drawer.scss","webpack://components/./assets/sass/components/modal.scss","webpack://components/./src/components/Stepper/Stepper.vue","webpack://components/./assets/sass/components/stepper.scss","webpack://components/./assets/sass/components/tabs.scss","webpack://components/./assets/sass/components/alert.scss"],"sourcesContent":["@use \"../_func.scss\" as *;\n\n// Accordion\n.accordion {\n --accordion-indent: 0.75rem;\n --accordion-right-padding: 3rem;\n --accordion-y-padding: 1rem;\n --accordion-icon-size: #{rem(30)};\n --accordion-icon-top: #{rem(12)};\n\n @include media-breakpoint-up(md) {\n //--accordion-indent: 1rem;\n --accordion-right-padding: 6rem;\n --accordion-y-padding: 2rem;\n --accordion-icon-size: #{rem(48)};\n --accordion-icon-top: #{rem(20)};\n }\n}\n\n.accordion-button {\n\n padding: $accordion-button-padding-y var(--accordion-right-padding) $accordion-button-padding-y $accordion-button-padding-x;\n color: var(--colour-heading);\n text-align: left; // Reset button style\n background-color: $accordion-button-bg;\n overflow-anchor: none;\n @include transition($accordion-transition);\n\n --marker-bg: var(--colour-secondary);\n cursor: pointer;\n position: relative;\n\n .badge {\n vertical-align: bottom;\n margin-left: 0.5em;\n margin-right: 0.5em;\n margin-bottom: 0.1em;\n }\n\n\n &:before,\n &:after {\n\n content: \"\";\n position: absolute;\n right: var(--accordion-indent);\n top: var(--accordion-icon-top);\n margin-top: var(--accordion-icon-size-half);\n width: var(--accordion-icon-size);\n height: var(--accordion-icon-size);\n }\n\n &:before {\n text-indent: 100%;\n white-space: nowrap;\n overflow: hidden;\n background: var(--marker-bg);\n border-radius: 100%;\n }\n\n // Accordion icon\n &::after {\n background: currentColor;\n mask-image: escape-svg($accordion-button-icon);\n mask-size: 50%;\n mask-repeat: no-repeat;\n mask-position: 50% 50%;\n \n -webkit-mask-image: escape-svg($accordion-button-icon);\n -webkit-mask-size: 50%;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-position: 50% 50%;\n\n @include transition($accordion-icon-transition);\n transform: rotate(90deg);\n }\n\n &:hover,\n &:focus {\n\n --marker-bg: var(--colour-warning);\n color: var(--colour-hover);\n }\n\n &:hover {\n z-index: var(--index-focus);\n }\n\n &:focus {\n z-index: var(--index-focus);\n border-color: $accordion-button-focus-border-color;\n outline: 0;\n box-shadow: $accordion-button-focus-box-shadow;\n }\n\n [open] > summary > & {\n color: var(--colour-heading);\n background-color: $accordion-button-active-bg;\n \n &::after {\n \n transform: rotate(-90deg);\n }\n }\n}\n\n// #region Coloured summary\nsummary[class*=\"bg-\"] {\n\n .accordion-button {\n\n border-bottom: 1px solid var(--colour-border);\n margin-bottom: -1px;\n\n &:before {\n background: none!important;\n }\n }\n\n &:hover .accordion-button {\n opacity: 0.8;\n }\n\n & + .accordion-body {\n\n padding-top: 2rem;\n }\n}\n// #endregion\n\n\n\n.accordion-header {\n margin-bottom: 0;\n}\n\n.accordion-item {\n background-color: $accordion-bg;\n border-bottom: $accordion-border-width solid $accordion-border-color;\n margin-bottom: 2rem;\n\n &:first-of-type {\n border-top: $accordion-border-width solid $accordion-border-color;\n }\n\n & + .accordion-item {\n margin-top: -2rem;\n }\n}\n\n.accordion-body {\n text-align: left;\n padding: 0 $accordion-body-padding-x;\n}\n\n// #region Straight edge\n.accordion--straight {\n > details > summary:not([class*=\"bg-\"]) > .accordion-button,\n > details > .accordion-body {\n padding-left: 0!important;\n }\n\n > details > .accordion-body {\n padding-right: 0!important;\n }\n}\n// #endregion\n\n// #region Child accordion\n.accordion .accordion {\n\n &:first-child {\n\n padding-top: 1rem;\n }\n\n &:last-child {\n\n padding-bottom: 2rem;\n }\n\n .accordion-button {\n padding: 1rem 3rem 1rem var(--accordion-indent);\n\n &:before,\n &:after {\n top: 0.75rem;\n height: 2rem;\n width: 2rem;\n right: 0.5rem;\n }\n &:before {\n background-color: var(--colour-light);\n }\n }\n}\n// #endregion\n","@import \"../../../node_modules/bootstrap/scss/mixins\";\n\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n \n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media screen and (min-width: $min) {\n @content;\n }\n }\n @else if $name =='xs' {\n @content;\n } \n @else {\n @if $mobileOnly != \"true\" {\n @content;\n }\n }\n}\n\n// Example: @include prefix(transition, transform 1.5s, webkit ms o);\n@mixin prefix($property, $value, $prefixes: (webkit ms o))\n{\n\t@each $prefix in $prefixes\n\t{\n\t\t#{'-' + $prefix + '-' + $property}: $value;\n\t}\n\t\n\t// Output standard non-prefixed declaration\n\t#{$property}: $value;\n}\n\n// Used to make it possible to use css properties but still support IE11\n@mixin var($property, $varName, $important:\"\", $compatible:$compatible) {\n\n @if $compatible == \"true\" {\n #{$property}: map-get($vars, $varName) #{$important};\n }\n @else {\n #{$property}: var(#{$varName}) #{$important};\n }\n}\n\n@mixin inline-text(){\n p,\n ul,\n ol,\n dd,\n .body,\n table:not(.table--email) td {\n @content;\n }\n}\n\n\n@mixin headers($includeClasses: 'false'){\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n @content;\n }\n\n @if $includeClasses == 'true' {\n\n .h1,\n .h2,\n .h3,\n .h4,\n .h5,\n .h6 {\n @content;\n }\n }\n}\n\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n\n --bg-colour: var(--colour-#{str-replace($parent,'.bg-','')});\n --bg-colour-tint: var(--colour-#{str-replace($parent,'.bg-','')}-tint);\n \n @include var(background-color,--colour-#{str-replace($parent,'.bg-','')},!important);\n }\n}\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n\n @include var(color,--colour-#{str-replace($parent,'.text-','')},\"!important\");\n }\n}\n\n@mixin font-size($value, $compatible:$compatible) {\n \n $found: false;\n\n @if $compatible == \"true\" {\n font-size: $value;\n }\n @else {\n @each $size, $subvalue in $font-sizes {\n\n @if($value == $subvalue and $found == false){\n font-size: var(--fs-#{$size});\n $found: true;\n }\n }\n @if $found == false {\n font-size: $value;\n }\n }\n\n}\n\n@mixin is($selector, $before: '', $after: '' ,$compatible:$compatible){\n\n @if $compatible == \"true\" {\n $split-values: str-split($selector, \",\");\n @each $value in $split-values {\n\n #{$before}#{$value}#{$after} {\n @content;\n }\n }\n }\n @else {\n #{$before}:is(#{$selector})#{$after} {\n @content;\n }\n }\n}\n\n@mixin reset-colours($compatible:$compatible) {\n \n --colour-body: var(--colour-body-theme);\n --colour-heading: var(--colour-primary);\n --colour-link: var(--colour-link-theme);\n --colour-hover: var(--colour-hover-theme);\n --colour-active: var(--colour-active-theme);\n //--colour-underline: var(--colour-underline);\n --colour-border: var(--colour-border-theme);\n --colour-brand: var(--colour-primary);\n\n --btn-bg: var(--colour-warning);\n --btn-text: var(--colour-primary);\n --btn-hover-text: var(--colour-primary);\n --btn-tertiary-bg: var(--colour-primary);\n --btn-tertiary-hover-text: white;\n\n .text-primary {\n color: var(--colour-primary)!important;\n }\n}\n\n@mixin invert-colours($compatible:$compatible) {\n \n --colour-body: white;\n --colour-heading: white;\n --colour-link: white;\n --colour-hover: white;\n --colour-border: white;\n --colour-brand: white;\n\n --btn-bg: white;\n --btn-text: var(--colour-primary);\n --btn-hover-text: var(--colour-heading);\n --btn-tertiary-bg: white;\n --btn-tertiary-hover-text: var(--colour-primary);\n}","@import \"../../../node_modules/bootstrap/scss/_variables.scss\";\n\n// #region Grid Breakpoints, layouts\n$grid-breakpoints: (\n xs: 0,\n sm: 36em, /* 576 */\n md: 62em /* 992 */\n);\n\n@each $bp, $value in $grid-breakpoints {\n\n $vars: map-merge((\n --breakpoint-#{$bp}: #{$value}\n ), $vars);\n}\n\n$device-xs-width: 375;\n$device-sm-width: 768;\n$device-md-width: 1440;\n\n$container-max-widths: (\n sm: 0,\n md: 80em\n);\n\n$grid-columns: 12;\n$grid-gutter-width: 1rem; // 15px\n\n$container-padding-x: 20;\n$container-padding-x-md: 60;\n$container-padding: var(--container-padding-top) rem($container-padding-x) var(--container-padding-bottom) rem($container-padding-x);\n$container-padding-md: var(--container-padding-top) rem($container-padding-x-md) var(--container-padding-bottom) rem($container-padding-x-md);\n\n$vars: map-merge((\n \"--container-padding-top\": 0,\n \"--container-padding-bottom\": #{rem(16)},\n \"--container-padding-x\": #{rem($container-padding-x)},\n \"--container-padding-x-md\": #{rem($container-padding-x-md)},\n \"--container-padding\": $container-padding,\n \"--container-padding-md\": $container-padding-md\n), $vars);\n\n$varsMD: map-merge((\n \"--container-padding\": var(--container-padding-md),\n \"--container-padding-x\": var(--container-padding-x-md)\n), $varsMD);\n// #endregion\n\n// #region Colours\n// Default Bootstrap Theme vars\n$primary: #00313c;\n$secondary: #b4e6a5;\n$success: #b4e6a5;\n$info: #1ebee6;\n$warning: #ffa500;\n$danger: #dc3545;\n$light: #ffd2d2;\n$dark: #46003c;\n\n\n// Functional/state variables \n$colour-body: #6f6f6f;\n$colour-muted: #9d9d9d;\n$colour-border: #6f6f6f;\n$colour-link: $primary;\n$colour-focus: #000000;\n$colour-hover: #000000;\n$colour-active: $success;\n$colour-selected: $success;\n\n$theme-colors: ();\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark,\n \"admin\": #f0f0f0\n), $theme-colors);\n\n\n$theme-colors-rgb: map-loop($theme-colors, to-rgb, \"$value\");\n\n\n@each $color, $value in $theme-colors-rgb {\n\n $vars: map-merge((\n --colour-#{$color}: rgba($value,var(--alpha, 1))\n ), $vars);\n}\n\n// RGB Theme colours\n@function show-css-var($identifier) {\n\n @if $compatible == \"true\" {\n @return #{map-get($theme-colors, #{$identifier})};\n }\n\n @return var(--colour-#{$identifier});\n}\n@function show-css-var-text($identifier) {\n\n @if $compatible == \"true\" {\n @return #{map-get($theme-colors, #{$identifier})};\n }\n\n @return var(--colour-#{$identifier});\n}\n\n$utilities-colors: $theme-colors-rgb;\n\n$utilities-colors: map-merge(\n $utilities-colors,\n (\n \"black\": to-rgb($black),\n \"white\": to-rgb($white),\n \"body\": to-rgb($body-color)\n )\n);\n\n$utilities-bg-colors: map-loop($utilities-colors, show-css-var, \"$key\");\n$utilities-text-colors: map-loop($utilities-text, show-css-var-text, \"$key\");\n\n\n\n// Colours that we want setting but not used for Bootstraps mixins, i.e. .text-primary, .bg-muted\n$non-theme-colors: ();\n$non-theme-colors: map-merge((\n \"black\": #000000,\n \"white\": #ffffff,\n \"muted\": $colour-muted,\n \"border\": $colour-border,\n \"border-light\": #eeeeee,\n \"link\": $colour-link,\n \"focus\": $colour-focus,\n \"hover\": $colour-hover,\n \"active\": $colour-active,\n \"selected\": $colour-selected\n), $non-theme-colors);\n\n@each $color, $value in $non-theme-colors {\n\n $vars: map-merge((\n --colour-#{$color}-theme: #{$value},\n --colour-#{$color}: #{'var(--colour-'+$color+'-theme)'}\n ), $vars);\n}\n\n$vars: map-merge((\n \"--colour-body-theme\": rgba(to-rgb($colour-body),var(--alpha,1)),\n \"--colour-white-theme\": rgba(to-rgb(#ffffff),var(--alpha,1)),\n \"--colour-black-theme\": rgba(to-rgb(#000000),var(--alpha,1)),\n \"--colour-body\": rgba(to-rgb($colour-body),var(--alpha,1)),\n \"--colour-white\": rgba(to-rgb(#ffffff),var(--alpha,1)),\n \"--colour-black\": rgba(to-rgb(#000000),var(--alpha,1))\n), $vars);\n\n$gradient: linear-gradient(180deg, var(--colour-secondary) 0, var(--colour-info) 100%);\n\n// #endregion\n\n// #region aspect ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n);\n// #endregion\n\n// #region fonts\n\n$font-body: 'qanelasmedium', arial, sans-serif;\n$font-heading: 'qanelas_softextrabold', arial, sans-serif;\n\n$fonts: ();\n$fonts: map-merge((\n \"heading\": $font-heading,\n \"body\": $font-body\n), $fonts);\n\n\n@each $font, $value in $fonts {\n\n $vars: map-merge((\n --font-#{$font}: #{$value}\n ), $vars);\n}\n\n// #endregion\n\n// #region Type\n\n$type-scale-1: #{rem(100)};\n$type-scale-2: #{rem(60)};\n$type-scale-3: #{rem(40)};\n$type-scale-4: #{rem(32)};\n$type-scale-5: #{rem(28)};\n$type-scale-6: #{rem(16)};\n$type-scale-7: #{rem(14)};\n\n$font-sizes: (\n 'display': $type-scale-3,\n 1: $type-scale-3,\n 2: $type-scale-4,\n 3: $type-scale-5,\n 4: $type-scale-6,\n 5: $type-scale-6,\n 6: $type-scale-6,\n 'badge': $badge-font-size,\n 'small': $type-scale-7,\n 'strapline': $type-scale-6\n);\n\n@each $size, $value in $font-sizes {\n\n $vars: map-merge((\n --fs-#{$size}: #{$value}\n ), $vars);\n}\n\n\n$h1-font-size: var(--fs-1);\n$h2-font-size: var(--fs-2);\n$h3-font-size: var(--fs-3);\n$h4-font-size: var(--fs-4);\n$h5-font-size: var(--fs-5);\n$h6-font-size: var(--fs-6);\n\n$headings-margin-bottom: clamp(1rem,0.5em,0.5em);\n$headings-font-style: normal;\n$headings-line-height: clamp(1em,2.5rem,clamp(1.5em,1rem,1.2em));\n$display-line-height: $headings-line-height;\n\n@if $compatible == 'true' {\n $headings-font-family: $font-heading;\n $headings-font-weight: 700;\n $headings-color: $primary;\n}\n@else {\n $headings-font-family: var(--font-heading);\n $headings-font-weight: var(--heading-weight);\n $headings-color: var(--colour-primary);\n}\n\n$font-md-sizes: (\n 'display': $type-scale-1,\n 1: $type-scale-2,\n 2: $type-scale-3,\n 3: $type-scale-4,\n 4: $type-scale-5,\n 'strapline': $type-scale-5\n);\n\n@each $size, $value in $font-md-sizes {\n\n $varsMD: map-merge((\n --fs-#{$size}: #{$value}\n ), $varsMD);\n}\n\n$vars: map-merge((\n --heading-weight: 700\n), $vars);\n\n$content-max-width: rem(820);\n$paragraph-margin-bottom: 2rem;\n\n// #endregion \n\n// #region Buttons\n$btn-border-radius: 1rem;\n$btn-border-radius-sm: 1rem;\n$btn-border-radius-lg: 1rem;\n\n$btn-padding-y: 0.5rem;\n$btn-padding-x: 1.5rem;\n$btn-padding-y-sm: $btn-padding-y;\n$btn-padding-x-sm: $btn-padding-x;\n$btn-padding-y-md: $btn-padding-y;\n$btn-padding-x-md: $btn-padding-x;\n\n// #endregion\n\n// #region Forms\n// label\n$form-label-font-size: $h5-font-size;\n$form-label-font-weight: bold;\n$form-label-color: var(--colour-heading);\n$form-label-margin-bottom: 0.25rem;\n// input field\n$input-font-size: 1rem;\n$input-font-weight: normal;\n$input-line-height: 1.5;\n$input-padding-y: 0.75em;\n$input-padding-x: 1em;\n$input-border-radius: rem(10);\n$input-border-color: var(--colour-border);\n\n// sm\n$input-height-sm: null;\n$input-font-size-sm: #{rem(14)};\n$input-border-radius-sm: null; // Inherit default value\n$input-padding-y-sm: null;\n$input-padding-x-sm: null;\n\n// lg\n$input-height-lg: null;\n$input-font-size-lg: #{rem(24)};\n$input-border-radius-lg: false; // Inherit default value\n$input-padding-y-lg: null;\n$input-padding-x-lg: null;\n\n// Input group\n$input-group-addon-bg: white;\n$input-group-addon-border-color: var(--colour-border);\n\n\n\n// Select \n$form-select-padding-y: $input-padding-y;\n//$form-select-indicator-padding\n$form-select-padding-x: #{$input-padding-x};\n$form-select-border-color: var(--colour-border);\n$form-select-border-radius: $input-border-radius;\n\n// Checkbox\n$form-check-input-width: 1.5rem;\n$form-check-min-height: #{rem(28)};\n$form-check-padding-start: 2rem;\n$form-check-margin-bottom: #{rem(16)};\n\n$form-check-input-border: 1px solid var(--colour-border);\n\n$form-check-input-checked-color: $primary;\n$form-check-input-checked-bg-color: var(--colour-success);\n$form-check-input-checked-border-color: var(--colour-border);\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10l3 3l6-6'/></svg>\");\n\n$form-check-input-indeterminate-color: $primary;\n$form-check-input-indeterminate-bg-color: var(--colour-success);\n$form-check-input-indeterminate-border-color: var(--colour-success);\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10h8'/></svg>\");\n\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$colour-border}'/></svg>\");\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$colour-focus}'/></svg>\");\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$primary}'/></svg>\");\n\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$primary}'/></svg>\");\n\n\n// #endregion\n\n// #region Cards\n$card-border-width: 0;\n$card-border-radius: rem(10);\n$card-spacer-y: 1.5rem;\n$card-spacer-x: 1.25rem;\n\n\n$card-cap-padding-y: 1.5rem;\n$card-cap-padding-x: 1.25rem;\n\n\n\n$card-cap-bg: transparent;\n// #endregion card-variables\n\n// #region Icons\n$icon-blank: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M17 13v6c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293h-11c-0.276 0-0.525-0.111-0.707-0.293s-0.293-0.431-0.293-0.707v-11c0-0.276 0.111-0.525 0.293-0.707s0.431-0.293 0.707-0.293h6c0.552 0 1-0.448 1-1s-0.448-1-1-1h-6c-0.828 0-1.58 0.337-2.121 0.879s-0.879 1.293-0.879 2.121v11c0 0.828 0.337 1.58 0.879 2.121s1.293 0.879 2.121 0.879h11c0.828 0 1.58-0.337 2.121-0.879s0.879-1.293 0.879-2.121v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1zM10.707 14.707l9.293-9.293v3.586c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.136-0.027-0.265-0.076-0.383s-0.121-0.228-0.216-0.323c-0.001-0.001-0.001-0.001-0.002-0.002-0.092-0.092-0.202-0.166-0.323-0.216-0.118-0.049-0.247-0.076-0.383-0.076h-6c-0.552 0-1 0.448-1 1s0.448 1 1 1h3.586l-9.293 9.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0z' stroke-width='2px'></path></svg>\");\n$icon-sort: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath opacity='.3' d='M51 1l25 23 24 22H1l25-22zm0 100l25-23 24-22H1l25 22z'/%3E%3C/svg%3E\");\n$icon-arrow: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22'><path d='M6.5,2l9,9-9,9' style='fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px'/></svg>\");\n$icon-close: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>\");\n$icon-tick: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M16 0c-8.836 0-16 7.164-16 16s7.164 16 16 16 16-7.164 16-16-7.164-16-16-16zM13.52 23.383l-7.362-7.363 2.828-2.828 4.533 4.535 9.617-9.617 2.828 2.828-12.444 12.445z'/></svg>\");\n$icon-question: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'><path d='M14 21.5v-3c0-0.281-0.219-0.5-0.5-0.5h-3c-0.281 0-0.5 0.219-0.5 0.5v3c0 0.281 0.219 0.5 0.5 0.5h3c0.281 0 0.5-0.219 0.5-0.5zM18 11c0-2.859-3-5-5.688-5-2.547 0-4.453 1.094-5.797 3.328-0.141 0.219-0.078 0.5 0.125 0.656l2.063 1.563c0.078 0.063 0.187 0.094 0.297 0.094 0.141 0 0.297-0.063 0.391-0.187 0.734-0.938 1.047-1.219 1.344-1.437 0.266-0.187 0.781-0.375 1.344-0.375 1 0 1.922 0.641 1.922 1.328 0 0.812-0.422 1.219-1.375 1.656-1.109 0.5-2.625 1.797-2.625 3.313v0.562c0 0.281 0.219 0.5 0.5 0.5h3c0.281 0 0.5-0.219 0.5-0.5v0c0-0.359 0.453-1.125 1.188-1.547 1.188-0.672 2.812-1.578 2.812-3.953zM24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z'/></svg>\");\n$icon-warning: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'><path d='M12 2c6.625 0 12 5.375 12 12s-5.375 12-12 12-12-5.375-12-12 5.375-12 12-12zM14 21.484v-2.969c0-0.281-0.219-0.516-0.484-0.516h-3c-0.281 0-0.516 0.234-0.516 0.516v2.969c0 0.281 0.234 0.516 0.516 0.516h3c0.266 0 0.484-0.234 0.484-0.516zM13.969 16.109l0.281-9.703c0-0.109-0.047-0.219-0.156-0.281-0.094-0.078-0.234-0.125-0.375-0.125h-3.437c-0.141 0-0.281 0.047-0.375 0.125-0.109 0.063-0.156 0.172-0.156 0.281l0.266 9.703c0 0.219 0.234 0.391 0.531 0.391h2.891c0.281 0 0.516-0.172 0.531-0.391z'></path></svg>\");\n\n$vars: map-merge((\n --icon-blank: #{escape-svg($icon-blank)},\n --icon-sort: #{$icon-sort},\n --icon-arrow: #{escape-svg($icon-arrow)},\n --icon-close: #{escape-svg($icon-close)},\n --icon-tick: #{escape-svg($icon-tick)},\n --icon-question: #{escape-svg($icon-question)},\n --icon-warning: #{escape-svg($icon-warning)}\n), $vars);\n// #endregion\n\n// #region pagination\n// Default\n$pagination-color: var(--colour-heading);\n$pagination-disabled-color: var(--colour-muted);\n$pagination-bg: transparent;\n$pagination-border-width: 1px;\n$pagination-border-color: var(--colour-border);\n\n// Hover and focus\n$pagination-hover-color: var(--colour-heading);\n$pagination-hover-bg: var(--colour-muted);\n$pagination-hover-border-color: var(--colour-border);\n$pagination-focus-color: var(--colour-hover);\n$pagination-focus-bg: var(--colour-muted);\n\n// Active\n$pagination-active-color: var(--bs-body-bg);\n$pagination-active-bg: var(--colour-heading);\n$pagination-active-border-color: var(--colour-heading);\n\n// Disabled\n$pagination-disabled-bg: $pagination-bg;\n$pagination-disabled-border-color: $pagination-border-color;\n// #endregion\n\n// #region Accordion\n$accordion-button-padding-y: var(--accordion-y-padding);\n$accordion-button-padding-x: var(--accordion-indent);\n$accordion-button-color: var(--colour-primary);\n$accordion-button-bg: transparent;\n\n$accordion-icon-color: $primary;\n$accordion-icon-active-color: $primary;\n\n$accordion-button-icon: var(--icon-arrow);\n\n$accordion-button-active-color: var(--colour-primary);\n$accordion-button-active-bg: transparent;\n\n$accordion-border-color: var(--colour-border);\n$accordion-border-width: 1px;\n$accordion-bg: transparent;\n\n$accordion-body-padding-y: 1rem;\n$accordion-body-padding-x: var(--accordion-indent);\n\n// #endregion\n\n// #region Z-index\n\n\n$vars: map-merge((\n \"--index-below\": -1,\n \"--index-base\": 0,\n \"--index-focus\": 2,\n \"--index-above\": 10,\n \"--index-floating\": 100,\n \"--index-menu\": 200,\n \"--index-overlay\": 1000,\n), $vars);\n\n\n$zindex-dropdown: var(--index-above);\n$zindex-sticky: var(--index-floating);\n$zindex-fixed: var(--index-floating);\n$zindex-offcanvas-backdrop: var(--index-menu);\n$zindex-offcanvas: var(--index-menu);\n$zindex-modal-backdrop: var(--index-overlay);\n$zindex-modal: var(--index-overlay);\n$zindex-popover: var(--index-above);\n$zindex-tooltip: var(--index-above);\n// #endregion","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// scss-docs-start theme-color-variables\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// scss-docs-start theme-colors-rgb\n$theme-colors-rgb: map-loop($theme-colors, to-rgb, \"$value\") !default;\n// scss-docs-end theme-colors-rgb\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n \"blue-100\": $blue-100,\n \"blue-200\": $blue-200,\n \"blue-300\": $blue-300,\n \"blue-400\": $blue-400,\n \"blue-500\": $blue-500,\n \"blue-600\": $blue-600,\n \"blue-700\": $blue-700,\n \"blue-800\": $blue-800,\n \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n \"indigo-100\": $indigo-100,\n \"indigo-200\": $indigo-200,\n \"indigo-300\": $indigo-300,\n \"indigo-400\": $indigo-400,\n \"indigo-500\": $indigo-500,\n \"indigo-600\": $indigo-600,\n \"indigo-700\": $indigo-700,\n \"indigo-800\": $indigo-800,\n \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n \"purple-100\": $purple-200,\n \"purple-200\": $purple-100,\n \"purple-300\": $purple-300,\n \"purple-400\": $purple-400,\n \"purple-500\": $purple-500,\n \"purple-600\": $purple-600,\n \"purple-700\": $purple-700,\n \"purple-800\": $purple-800,\n \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n \"pink-100\": $pink-100,\n \"pink-200\": $pink-200,\n \"pink-300\": $pink-300,\n \"pink-400\": $pink-400,\n \"pink-500\": $pink-500,\n \"pink-600\": $pink-600,\n \"pink-700\": $pink-700,\n \"pink-800\": $pink-800,\n \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n \"red-100\": $red-100,\n \"red-200\": $red-200,\n \"red-300\": $red-300,\n \"red-400\": $red-400,\n \"red-500\": $red-500,\n \"red-600\": $red-600,\n \"red-700\": $red-700,\n \"red-800\": $red-800,\n \"red-900\": $red-900\n) !default;\n\n$oranges: (\n \"orange-100\": $orange-100,\n \"orange-200\": $orange-200,\n \"orange-300\": $orange-300,\n \"orange-400\": $orange-400,\n \"orange-500\": $orange-500,\n \"orange-600\": $orange-600,\n \"orange-700\": $orange-700,\n \"orange-800\": $orange-800,\n \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n \"yellow-100\": $yellow-100,\n \"yellow-200\": $yellow-200,\n \"yellow-300\": $yellow-300,\n \"yellow-400\": $yellow-400,\n \"yellow-500\": $yellow-500,\n \"yellow-600\": $yellow-600,\n \"yellow-700\": $yellow-700,\n \"yellow-800\": $yellow-800,\n \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n \"green-100\": $green-100,\n \"green-200\": $green-200,\n \"green-300\": $green-300,\n \"green-400\": $green-400,\n \"green-500\": $green-500,\n \"green-600\": $green-600,\n \"green-700\": $green-700,\n \"green-800\": $green-800,\n \"green-900\": $green-900\n) !default;\n\n$teals: (\n \"teal-100\": $teal-100,\n \"teal-200\": $teal-200,\n \"teal-300\": $teal-300,\n \"teal-400\": $teal-400,\n \"teal-500\": $teal-500,\n \"teal-600\": $teal-600,\n \"teal-700\": $teal-700,\n \"teal-800\": $teal-800,\n \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n \"cyan-100\": $cyan-100,\n \"cyan-200\": $cyan-200,\n \"cyan-300\": $cyan-300,\n \"cyan-400\": $cyan-400,\n \"cyan-500\": $cyan-500,\n \"cyan-600\": $cyan-600,\n \"cyan-700\": $cyan-700,\n \"cyan-800\": $cyan-800,\n \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-cssgrid: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n// Utilities maps\n//\n// Extends the default `$theme-colors` maps to help create our utilities.\n\n// Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.\n// scss-docs-start utilities-colors\n$utilities-colors: $theme-colors-rgb !default;\n// scss-docs-end utilities-colors\n\n// scss-docs-start utilities-text-colors\n$utilities-text: map-merge(\n $utilities-colors,\n (\n \"black\": to-rgb($black),\n \"white\": to-rgb($white),\n \"body\": to-rgb($body-color)\n )\n) !default;\n$utilities-text-colors: map-loop($utilities-text, rgba-css-var, \"$key\", \"text\") !default;\n// scss-docs-end utilities-text-colors\n\n// scss-docs-start utilities-bg-colors\n$utilities-bg: map-merge(\n $utilities-colors,\n (\n \"black\": to-rgb($black),\n \"white\": to-rgb($white),\n \"body\": to-rgb($body-bg)\n )\n) !default;\n$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, \"$key\", \"bg\") !default;\n// scss-docs-end utilities-bg-colors\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width * .5 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$border-color: $gray-300 !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n \"primary\": shift-color($primary, $table-bg-scale),\n \"secondary\": shift-color($secondary, $table-bg-scale),\n \"success\": shift-color($success, $table-bg-scale),\n \"info\": shift-color($info, $table-bg-scale),\n \"warning\": shift-color($warning, $table-bg-scale),\n \"danger\": shift-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-blur: 0 !default;\n$input-btn-focus-box-shadow: 0 0 $input-btn-focus-blur $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $body-bg !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width: 3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: 1px solid rgba($black, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba($black, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $input-border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-border-radius-sm: $input-border-radius-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-border-radius-lg: $input-border-radius-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n$form-file-button-hover-bg: shade-color($form-file-button-bg, 5%) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-modal-backdrop: 1050 !default;\n$zindex-modal: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: $link-color !default;\n$nav-link-hover-color: $link-hover-color !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-theme-variables\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-theme-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($dropdown-link-color, 10%) !default;\n$dropdown-link-hover-bg: $gray-200 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-500 !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-start: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm: $border-radius-sm !default;\n$pagination-border-radius-lg: $border-radius-lg !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\n\n// scss-docs-start placeholders\n$placeholder-opacity-max: .5 !default;\n$placeholder-opacity-min: .2 !default;\n// scss-docs-end placeholders\n\n// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-border-width: $border-width !default;\n$card-border-color: rgba($black, .125) !default;\n$card-border-radius: $border-radius !default;\n$card-box-shadow: null !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: $body-color !default;\n$accordion-bg: $body-bg !default;\n$accordion-border-width: $border-width !default;\n$accordion-border-color: rgba($black, .125) !default;\n$accordion-border-radius: $border-radius !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: $accordion-color !default;\n$accordion-button-bg: $accordion-bg !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: tint-color($component-active-bg, 90%) !default;\n$accordion-button-active-color: shade-color($primary, 10%) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $accordion-button-color !default;\n$accordion-icon-active-color: $accordion-button-active-color !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n// scss-docs-end popover-variables\n\n\n// Toasts\n\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba($black, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba($black, .05) !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 40% !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// List group\n\n// scss-docs-start list-group-variables\n$list-group-color: $gray-900 !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 40% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: null !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n\n// scss-docs-start carousel-variables\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n// scss-docs-end carousel-variables\n\n\n// Spinners\n\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/></svg>\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: $modal-content-bg !default;\n$offcanvas-color: $modal-content-color !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg: $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n @include box-shadow($card-box-shadow);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-y $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-title-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-title-spacer-y * .5;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-cap-padding-y $card-cap-padding-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n}\n\n.card-footer {\n padding: $card-cap-padding-y $card-cap-padding-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-cap-padding-x * .5;\n margin-bottom: -$card-cap-padding-y;\n margin-left: -$card-cap-padding-x * .5;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-cap-padding-x * .5;\n margin-left: -$card-cap-padding-x * .5;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n @include border-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-end-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-start-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../_func.scss\" as *;\n\n@import \"../../../node_modules/bootstrap/scss/_card.scss\";\n\n// #region Defaul Card\n// Reset the link\na.card {\n\n cursor: pointer;\n \n &:before {\n display: none;\n }\n}\n\n.card:not(.card--simple) {\n\n @include reset-colours();\n}\n.card {\n\n --spread: #{rem(12)};\n box-shadow: 0 2px var(--spread) 0 rgba(154,154,154,0.25);\n min-height: 100%;\n overflow: hidden;\n max-width: rem(925);\n\n &:hover,\n &:focus {\n --spread: #{rem(6)};\n\n .card-body *:not(.badge) {\n color: var(--colour-hover)!important;\n }\n }\n\n &:active {\n --spread: #{rem(3)};\n }\n}\n\n.card-header__wrapper {\n padding-bottom: 0;\n padding-top: 55%;\n position: relative;\n overflow: hidden;\n background: rgba(0,0,0,0.1);\n\n > * {\n\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n .card-image {\n position: absolute;\n top: 0;\n left: 0;\n width: 101%;\n height: 101%;\n object-fit: cover;\n }\n \n .card-header {\n display: flex;\n flex-wrap: nowrap;\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-between;\n }\n\n .card-logo {\n position: absolute;\n top: 0;\n right: 0;\n left: auto;\n height: 3.5rem;\n width: 8rem;\n object-fit: contain;\n object-position: right;\n }\n}\n\n.card-body {\n\n color: var(--colour-body);\n\n *:last-child {\n margin-bottom: 0;\n }\n}\n\n.card-footer {\n padding-top: 0;\n}\n\n// Add a default margin bottom\n.row:not([class*=\"g-\"]) .card {\n\n margin-bottom: 1rem;\n}\n// #endregion\n\n// #region Simple card variant\n.card--simple {\n\n box-shadow: none;\n min-height: 0;\n background: none;\n \n .card-header__wrapper {\n\n @include border-radius($card-border-radius);\n margin-bottom: 1rem;\n }\n\n .card-body {\n padding-top: 0;\n }\n .card-body,\n .card-footer {\n padding-left: 0;\n padding-right: 0;\n }\n}\n// #endregion\n\n// #region Quick link card\n.card--quick{\n \n .card-header,\n .card-footer,\n .card-body > *:not(.card-title) {\n display: none;\n }\n\n .card-title {\n margin-bottom: 0;\n padding-left: 2em;\n position: relative;\n\n &:before,\n &:after {\n\n content: \"\";\n position: absolute;\n left: 0;\n top: 0;\n width: 1.2em;\n height: 1.2em;\n }\n &:before {\n\n left: 0.05em;\n background: currentColor;\n mask-image: escape-svg($accordion-button-icon);\n mask-size: 50%;\n mask-repeat: no-repeat;\n mask-position: 50% 50%;\n \n -webkit-mask-image: escape-svg($accordion-button-icon);\n -webkit-mask-size: 50%;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-position: 50% 50%;\n }\n\n &:after {\n border: 2px solid currentColor;\n border-radius: 50%;\n }\n\n }\n}\n// #endregion\n","@use \"../_func\" as *;\n\n// #region Card Deck\n.card-deck.container:not([data-card-type=\"simple\"]) {\n\n padding-bottom: 3rem;\n\n > .row:first-child {\n padding-top: 0.5rem;\n }\n\n &[class*=\"bg-\"] {\n padding-bottom: 5rem;\n }\n}\n// #endregion\n\n// #region Fake container query that transforms the card into a vertical card\n@mixin vertical-card(){\n .card-header__wrapper {\n position: absolute;\n top: 0;\n left: 0;\n width: 45.8%;\n height: 100%;\n padding: 0;\n }\n .card-header__wrapper ~ .card-body,\n .card-header__wrapper ~ .card-footer {\n padding-left: calc(45.8% + #{$card-spacer-x + $card-spacer-x});\n }\n}\n\n@media screen and (min-width: 36em) and (max-width: 61.99em) {\n\n .card-deck .row-cols-sm-1 {\n @include vertical-card();\n }\n}\n\n@include media-breakpoint-up(md) {\n\n .card-deck:not(.card-deck--featured) .row-cols-md-1 {\n \n @include vertical-card();\n }\n}\n// #endregion\n\n// #region Featured Card deck\n.card-deck--featured {\n\n > .row > .col:nth-child(4) ~ .col {\n display: none;\n }\n\n > .row > .col:not(:first-child) .card-header__wrapper {\n display: none;\n }\n\n .row-cols-sm-1 > .col:not(:first-child) .card-header__wrapper ~ .card-body {\n padding-left: 1.5rem;\n }\n\n .card-footer {\n display: none;\n }\n\n @include media-breakpoint-up(md) {\n\n > .row {\n display: grid;\n grid-template-columns: 1fr 1fr 41.66666667%; \n grid-template-rows: auto auto auto; \n gap: var(--bs-gutter-y) var(--bs-gutter-x); \n grid-template-areas: \n \"featured featured card2\"\n \"featured featured card3\"\n \"featured featured card4\";\n margin-top:0;\n }\n > .row > .col:first-child {\n grid-area: featured;\n }\n > .row > .col:not(:first-child) {\n min-height: 0;\n }\n\n > .row > .col:nth-child(2) {\n grid-area: card2;\n }\n\n > .row > .col:nth-child(3) {\n grid-area: card3;\n }\n\n > .row > .col:nth-child(4) {\n grid-area: card4;\n }\n\n > .row > .col {\n width: 100%;\n margin-top:0;\n }\n\n }\n}\n// #endregion","@use \"../_func\" as *;\n\n// #region default carousel\n.carousel {\n padding-bottom: 3rem;\n\n .carousel__wrapper {\n\n position: relative;\n }\n\n .carousel__inner {\n\n --bs-gutter-x: #{$grid-gutter-width};\n overflow: auto;\n scroll-snap-type: x mandatory;\n margin-right: calc(var(--bs-gutter-x) * -.5);\n margin-left: calc(var(--bs-gutter-x) * -.5); \n\n > .row {\n flex-wrap: nowrap;\n margin: 0;\n\n > .col {\n padding-top: rem(36);\n padding-bottom: rem(24);\n scroll-snap-align: start;\n scroll-padding: calc(var(--bs-gutter-x) * -1);\n }\n }\n }\n\n .carousel__item > *:last-child {\n margin-bottom: 0;\n padding-bottom: 0;\n }\n}\n// #endregion\n\n// #region Remove the scrollbar\nbody.js-enabled .carousel__inner {\n // FireFox\n scrollbar-width: none;\n // IE10+\n -ms-overflow-style: none;\n}\n\nbody.js-enabled .carousel__inner::-webkit-scrollbar {\n // Chrome, Safari, Edge\n display: none;\n}\n// #endregion\n\n// #region carousel controls/pips\n.carousel:not(.hide-controls) {\n padding-bottom: 4.5rem;\n}\n\n.carousel.hide-controls .carousel__controls {\n display: none;\n}\n\n.carousel .carousel__controls {\n position: absolute;\n text-align: center;\n width: auto;\n left: 0;\n width: calc(100% + 2rem);\n margin-left: -1rem;\n margin-right: -1rem;\n bottom: -3rem;\n\n a {\n width: 1rem;\n height: 1rem;\n min-height: 1rem;\n border-radius: 50%;\n text-indent: -50rem;\n overflow: hidden;\n background: currentColor;\n padding: 0;\n margin: 0 0.5rem 0.5rem 0.5rem;\n\n &:before {\n display: none;\n }\n }\n\n a:first-child:last-child {\n display: none;\n }\n}\n\n.carousel .carousel__controls > a:nth-child(10) ~ a {\n\n display: none;\n}\n// #endregion\n\n// #region Carousel buttons\n.carousel.hide-btns .carousel__wrapper > .btn {\n display: none;\n}\n\n.carousel:not(.hide-btns) .carousel__inner {\n\n margin-left: rem(28);\n margin-right: rem(28);\n}\n\n.carousel .carousel__wrapper > .btn {\n position: absolute;\n top: 50%;\n left: -1.25rem;\n transform: translate(0,-50%);\n\n &.btn-next {\n left: auto;\n right: -1.25rem;\n }\n\n @include media-breakpoint-up(md) {\n\n margin-left: -1rem;\n margin-right: -1rem;\n }\n}\n\n\n// #endregion\n\n.carousel .carousel__inner > .row > .col:first-child {\n margin-left: 0!important;\n}\n\n@include media-breakpoint-up(sm) {\n\n .carousel .carousel__controls > a:nth-child(10) ~ a {\n\n display: inline-block;\n }\n\n .carousel .carousel__inner > .row[class*=\"row-cols-sm-\"] > .col{\n scroll-snap-align: unset;\n }\n\n .carousel .carousel__inner > .row-cols-sm-2 > .col:nth-child(odd),\n .carousel .carousel__inner > .row-cols-sm-3 > .col:nth-child(3n+1),\n .carousel .carousel__inner > .row-cols-sm-4 > .col:nth-child(4n+1),\n .carousel .carousel__inner > .row-cols-sm-5 > .col:nth-child(5n+1),\n .carousel .carousel__inner > .row-cols-sm-6 > .col:nth-child(6n+1) {\n scroll-snap-align: start;\n\n body:not(.js-enabled) & {\n margin-left: 4rem;\n }\n }\n\n .carousel .carousel__controls.cols-sm-2 > a:not(:nth-child(odd)),\n .carousel .carousel__controls.cols-sm-3 > a:not(:nth-child(3n+1)),\n .carousel .carousel__controls.cols-sm-4 > a:not(:nth-child(4n+1)),\n .carousel .carousel__controls.cols-sm-5 > a:not(:nth-child(5n+1)),\n .carousel .carousel__controls.cols-sm-6 > a:not(:nth-child(6n+1)) {\n display: none;\n }\n\n // Make sure that we dont just have one pip showing\n .carousel .carousel__controls.cols-sm-2 > a:first-child:nth-last-child(2),\n .carousel .carousel__controls.cols-sm-3 > :is(a:first-child:nth-last-child(2), a:first-child:nth-last-child(3)),\n .carousel .carousel__controls.cols-sm-4 > :is(a:first-child:nth-last-child(2), a:first-child:nth-last-child(3), a:first-child:nth-last-child(4)),\n .carousel .carousel__controls.cols-sm-5 > :is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5)),\n .carousel .carousel__controls.cols-sm-6 > :is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5),a:first-child:nth-last-child(6)) {\n display: none;\n }\n\n // Hide buttons if not needed\n .carousel.hide-sm-btns .carousel__wrapper > .btn {\n display: none;\n }\n\n .carousel.hide-sm-btns .carousel__inner {\n\n margin-left: 0;\n margin-right: 0;\n }\n}\n\n@include media-breakpoint-up(md) {\n\n .carousel .carousel__inner > .row[class*=\"row-cols-md-\"] > .col{\n scroll-snap-align: unset;\n margin-left: 0;\n }\n \n .carousel .carousel__inner > .row-cols-md-2 > .col:nth-child(odd),\n .carousel .carousel__inner > .row-cols-md-3 > .col:nth-child(3n+1),\n .carousel .carousel__inner > .row-cols-md-4 > .col:nth-child(4n+1),\n .carousel .carousel__inner > .row-cols-md-5 > .col:nth-child(5n+1),\n .carousel .carousel__inner > .row-cols-md-6 > .col:nth-child(6n+1) {\n scroll-snap-align: start;\n \n body:not(.js-enabled) & {\n\n margin-left: calc(50vw);\n }\n }\n\n .carousel .carousel__controls.cols-md-2 > a:not(:nth-child(odd)),\n .carousel .carousel__controls.cols-md-3 > a:not(:nth-child(3n+1)),\n .carousel .carousel__controls.cols-md-4 > a:not(:nth-child(4n+1)),\n .carousel .carousel__controls.cols-md-5 > a:not(:nth-child(5n+1)),\n .carousel .carousel__controls.cols-md-6 > a:not(:nth-child(6n+1)) {\n display: none;\n }\n\n // Make sure that we dont just have one pip showing\n .carousel .carousel__controls.cols-md-2 > a:first-child:nth-last-child(2),\n .carousel .carousel__controls.cols-md-3 > :is(a:first-child:nth-last-child(2), a:first-child:nth-last-child(3)),\n .carousel .carousel__controls.cols-md-4 > :is(a:first-child:nth-last-child(2), a:first-child:nth-last-child(3), a:first-child:nth-last-child(4)),\n .carousel .carousel__controls.cols-md-5 > :is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5)),\n .carousel .carousel__controls.cols-md-6 > :is(a:first-child:nth-last-child(2),a:first-child:nth-last-child(3),a:first-child:nth-last-child(4),a:first-child:nth-last-child(5),a:first-child:nth-last-child(6)) {\n display: none;\n }\n\n // Hide buttons when not needed\n .carousel.hide-md-btns .carousel__wrapper > .btn {\n display: none;\n }\n\n .carousel.hide-md-btns .carousel__inner {\n\n margin-left: 0;\n margin-right: 0;\n }\n}","@use \"../_func\" as *;\n\n.header-banner {\n background: linear-gradient(180deg,var(--colour-secondary) 0, var(--colour-info) 100%);\n margin-bottom: rem(32);\n position: relative;\n overflow: hidden;\n @include media-breakpoint-up(md) {\n min-height: rem(470);\n }\n\n > .container {\n padding-bottom: 0;\n position: relative;\n }\n\n &__inner {\n \n @include reset-colours();\n\n color: var(--colour-body);\n background: white;\n padding: rem(32);\n margin: rem(30) 0;\n position: relative;\n z-index: var(--index-above);\n \n @include media-breakpoint-up(md) {\n max-width: rem(600);\n margin: rem(112) 0 rem(80) 0;\n padding: rem(56) rem(64);\n }\n > *:last-child {\n padding-bottom: 0;\n margin-bottom: 0;\n }\n }\n\n > picture img {\n display: none;\n @include media-breakpoint-up(md) {\n display: block;\n position: absolute;\n top: -0.5%;\n left: 40%;\n height: 101%;\n object-fit: cover;\n width: 60%;\n pointer-events: none;\n }\n }\n\n > .container > .breadcrumb {\n \n margin-top: rem(24);\n margin-bottom: -0.5rem;\n\n @include media-breakpoint-up(md) {\n position: absolute;\n top: 0;\n left: rem(60);\n }\n }\n}","@use \"../_func\" as *;\n\n.testimonial {\n\n --testimonial-padding: 1rem;\n --testimonial-spacing: 1rem;\n\n @include media-breakpoint-up(md) {\n --testimonial-padding: 4rem;\n --testimonial-spacing: 2rem;\n }\n\n // Circle\n > div:first-child {\n\n position: relative;\n overflow: hidden;\n }\n\n .circle {\n color: currentColor;\n position: absolute;\n top: -18rem;\n right: -8rem;\n font-size: 28rem;\n border-width: 4px;\n }\n\n &__images {\n overflow: auto;\n scroll-snap-type: x mandatory;\n display: flex;\n user-select: none;\n touch-action: pan-x;\n height: rem(230);\n\n @include media-breakpoint-up(sm) {\n\n height: rem(340);\n }\n @include media-breakpoint-up(md) {\n\n min-height: 100%;\n scroll-snap-type: y mandatory;\n flex-direction: column;\n touch-action: pan-y;\n }\n\n img {\n\n scroll-snap-align: start;\n user-select: none;\n pointer-events: none;\n flex-shrink: 0;\n }\n }\n\n .testimonial__controls {\n display: none;\n }\n\n &.testimonial--multi .testimonial__controls {\n display: block;\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 50%);\n\n @include media-breakpoint-up(md) {\n left: auto;\n bottom: auto;\n right: 0;\n top: 50%;\n transform: rotate(90deg) translate(0,-120%);\n transform-origin: center;\n }\n }\n\n // Make space for the circle\n h2 {\n padding: 2rem var(--testimonial-padding) 0 var(--testimonial-padding);\n\n @include media-breakpoint-up(sm) {\n padding-top: 3rem;\n }\n @include media-breakpoint-up(md) {\n padding-top: 9rem;\n }\n }\n\n &__content {\n\n --display-none: none;\n margin: 0 var(--testimonial-padding) var(--testimonial-spacing) var(--testimonial-padding);\n position: relative;\n\n @include media-breakpoint-up(md) {\n --display-none: block;\n\n blockquote:not(.largest) {\n position: absolute;\n top: 0;\n }\n }\n }\n\n // Only show 1 blockquote at a time\n @for $i from 1 through 10 {\n\n &[data-show=\"#{$i}\"] blockquote:not(:nth-child(#{$i})) {\n display: var(--display-none);\n opacity: 0;\n user-select: none;\n pointer-events: none;\n }\n }\n\n &__after {\n\n padding: 1rem var(--testimonial-padding) var(--testimonial-spacing) var(--testimonial-padding);\n }\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\n.testimonial__images::-webkit-scrollbar {\n display: none;\n}\n\n/* Hide scrollbar for IE, Edge and Firefox */\n.testimonial__images {\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n}","@use \"../_func\" as *;\n\n// #region Property searchbar\n.property-searchbar {\n\n fieldset {\n position: relative;\n\n @include media-breakpoint-up(md) {\n position: relative;\n padding-right: 1.5rem;\n\n &:after {\n content: \"\";\n position: absolute;\n top: 0;\n right: 0.5rem;\n display: block;\n height: 100%;\n width: 1px;\n background-color: var(--colour-muted);\n opacity: 0.25;\n }\n }\n }\n\n .form-control__wrapper {\n margin-bottom: 1rem;\n\n @include media-breakpoint-up(md) {\n margin-bottom: 0;\n }\n }\n\n .form-label,\n label {\n font-size: rem(14);\n text-transform: uppercase;\n }\n\n @include media-breakpoint-up(md) {\n\n .row .row {\n .form-label {\n display: none;\n }\n }\n\n .form-control,\n .form-select {\n padding: 0.5rem 1.5rem 0.5rem 0.5rem;\n }\n\n .form-select {\n background-position: right 0.5rem center;\n }\n }\n\n .input--locations {\n padding-right: 5.5rem;\n }\n\n .select--miles {\n position: absolute;\n bottom: 0rem;\n right: 0.5rem;\n width: 5rem;\n\n @include media-breakpoint-up(md) {\n right: 1.5rem;\n }\n\n label {\n display: none;\n }\n\n select {\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n @include media-breakpoint-up(md) {\n .property-searchbar__btn {\n align-items: flex-end;\n }\n }\n\n button {\n margin-top: 1rem;\n margin-bottom: 1rem;\n\n @include media-breakpoint-up(md) {\n margin: 0;\n padding-left: 3.5rem;\n padding-right: 3.5rem;\n }\n }\n}\n// #endregion\n\n// #region Heror searchbar\n.property-searchbar--hero .property-searchbar {\n\n @include reset-colours();\n\n padding: 1rem;\n background-color: #fff;\n width: 100%;\n border-radius: rem(10);\n -webkit-box-shadow: 0 2px 4px 0 rgb(0 0 0 / 24%);\n box-shadow: 0 2px 4px 0 rgb(0 0 0 / 24%);\n position: relative;\n\n @include media-breakpoint-up(md) {\n\n border-radius: rem(48);\n padding: 1.5rem 2.5rem;\n\n .form-label,\n label {\n margin-bottom: 0;\n }\n\n .form-control,\n .form-select {\n margin-left: -0.5rem; // Add a negative margin too keep text inline but also allow for a padding left so that the focus state looks presentable\n border: none;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n\n .form-select {\n background-position: right 0rem center;\n padding-right: 1rem;\n }\n\n .property-searchbar__btn {\n align-items: center;\n }\n }\n}\n// #endregion\n","@use \"../_func\" as *;\n\n.nav {\n\n background: var(--bs-body-bg);\n\n\n &__inner {\n\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n\n > .container {\n\n padding-top: rem(16);\n padding-bottom: 1rem;\n flex-shrink: 0;\n overflow: visible;\n }\n }\n\n &__menu {\n padding-bottom: rem(16);\n }\n\n .brand {\n font-size: rem(48);\n\n @include media-breakpoint-up(sm) {\n font-size: rem(60);\n }\n }\n\n .nav__logo img {\n height: rem(48);\n width: auto;\n\n @include media-breakpoint-up(sm) {\n height: rem(60);\n width: auto;\n }\n }\n\n .nav__search-btn,\n .nav__menu-btn {\n\n display: flex;\n\n label {\n height: rem(26);\n width: rem(30);\n text-indent: -300%;\n overflow: hidden;\n position: relative;\n cursor: pointer;\n\n color: var(--colour-link);\n\n &:hover,\n &:focus {\n\n color: var(--colour-hover);\n }\n\n &:active {\n\n color: var(--colour-active);\n }\n\n &:before,\n &:after {\n content: \"\";\n position: absolute;\n width: 0%;\n height: 2px;\n top: calc(50% - 1px);\n left: 0;\n background: currentColor;\n transform-origin: 50% 50%;\n transition: transform 0.5s, width 0.5s;\n }\n }\n }\n .nav__search-btn {\n\n label {\n text-indent: 0;\n overflow: visible;\n }\n .icon {\n height: rem(32);\n width: rem(32);\n margin-top: rem(-3);\n margin-left: rem(-1);\n transition: opacity 0.5s;\n color: inherit;\n\n &__outline {\n\n stroke-width: 2px;\n stroke: currentColor;\n }\n }\n }\n\n .nav__menu-btn {\n display: flex;\n\n label {\n\n border-top: 2px solid currentColor;\n border-bottom: 2px solid currentColor;\n \n &:before,\n &:after {\n width: 70%;\n }\n }\n }\n\n .list-unstyled {\n padding-top: 1rem;\n }\n\n .list-unstyled li a:not(.text-decoration-none):not(.btn),\n .list-unstyled li .link:not(.text-decoration-none):not(.btn) {\n text-decoration: none;\n //@include var(color,--colour-primary,!important);\n display: inline-block;\n padding: rem(8) 0 rem(8) 0;\n margin-bottom: 0;\n position: relative;\n\n &:before {\n display: block;\n width: 0;\n height: rem(4);\n }\n\n &:hover:before,\n &:focus:before,\n &:active:before,\n &.active:before {\n width: 100%;\n }\n }\n\n .nav__title {\n display: block;\n padding: rem(8) 0 rem(8) 0;\n }\n\n .nav__menu--search {\n order: 2;\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n\n background: rgba(0,0,0,.6);\n height: calc(100vh - 5rem);\n }\n}\n\n// Nav with background colour applied\n.nav[class*=\"bg-\"] {\n\n .nav__menu--secondary {\n\n background-color: white!important;\n }\n .nav__menu--secondary > .container > .list-unstyled > li > a,\n .nav__menu--secondary > .container > .list-unstyled > li > details > summary .link {\n\n --colour-link: var(--colour-link-theme);\n --colour-hover: var(--colour-hover-theme);\n --colour-active: var(--colour-active-theme);\n }\n}\n\n// #region Secondary nav\n.nav__menu--secondary {\n flex-grow: 1;\n\n background: var(--colour-primary);\n \n > .container > .list-unstyled > li > a,\n > .container > .list-unstyled > li > details > summary .link {\n --colour-body: white;\n --colour-link: white;\n --colour-hover: white;\n --colour-active: white;\n --colour-heading: white;\n --colour-underline: white;\n --colour-border: white;\n }\n\n a,\n .link {\n display: inline-block;\n font-size: rem(15);\n padding: rem(8) 0 rem(8) 0;\n text-decoration: none;\n\n &:hover,\n &:focus {\n text-decoration: underline!important;\n }\n }\n}\n// #endregion\n\n// #region Admin Nav\n.nav--admin {\n .brand {\n font-size: rem(32);\n\n @include media-breakpoint-up(md) {\n font-size: rem(40);\n }\n }\n .nav__logo {\n\n height: 2rem;\n\n @include media-breakpoint-up(md) {\n \n height: 2.5rem;\n }\n }\n\n @include media-breakpoint-up(md) {\n .nav__btn .btn {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n }\n}\n// #endregion\n\n// #region Sticky nav\n.nav {\n\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n z-index: var(--index-menu);\n\n &.is-stuck {\n\n -webkit-box-shadow: 0 4px 20px -10px rgba(51,51,51,0.25);\n box-shadow: 0 4px 20px -10px rgba(51,51,51,0.25);\n }\n}\n\nnav + main > *:first-child {\n padding-top: 2rem;\n}\n\n@include media-breakpoint-up(md) {\n .nav.has-secondary:not(.nav--admin):not(.nav--marketplace) {\n\n top: rem(-40);\n\n .nav__inner {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n z-index: var(--index-menu);\n }\n }\n}\n// #endregion\n\n// #region Show/hide\n.nav__menu,\n.nav__btn,\n.nav__menu--secondary,\n.nav__menu--search {\n\n display: none;\n}\n\n#showMenu:checked ~ .nav__inner {\n\n height: 100vh;\n overflow: auto;\n}\n\n#showMenu:checked ~ div .nav__menu,\n#showMenu:checked ~ div .nav__btn,\n#showMenu:checked ~ div .nav__menu--secondary,\n#showMenu:not(:checked) ~ #showSearch:checked ~ div .nav__menu--search {\n display: block;\n}\n\n\n\n#showMenu:checked ~ div .nav__menu-btn label,\n#showSearch:checked ~ div .nav__search-btn label {\n \n border: 0;\n \n .icon {\n opacity: 0;\n }\n &:before {\n width: 100%;\n transform: rotate(45deg);\n }\n &:after {\n\n width: 100%;\n transform: rotate(-45deg);\n }\n}\n// #endregion\n\n// #region Desktop nav\n@include media-breakpoint-up(md) {\n\n .nav__logo {\n height: rem(64);\n }\n .nav__inner {\n overflow: visible;\n }\n\n .nav .nav__menu {\n display: flex;\n padding-bottom: 0;\n }\n\n .nav__btn,\n .nav__menu--secondary {\n display: flex;\n }\n\n .nav:not(.nav--admin) {\n\n .nav__inner > .container {\n order: 1;\n }\n .nav__menu--secondary {\n order: 0;\n\n .container {\n padding-bottom: 0;\n }\n }\n }\n \n .nav__search-btn,\n .nav__btn {\n order: 2;\n margin-left: 1rem;\n\n .btn {\n margin-bottom: 0;\n }\n }\n\n .nav__menu > .list-unstyled {\n margin-left: -1.5rem!important;\n margin-right: -1.5rem!important;\n width: calc(100% + 3rem);\n margin-bottom: 0;\n text-align: right;\n padding-top: 0;\n\n > li {\n display: inline-block;\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n }\n\n .nav__menu--secondary > .container > .list-unstyled {\n margin-left: -1rem!important;\n margin-right: -1rem!important;\n width: calc(100% + 2rem);\n margin-bottom: 0;\n text-align: right;\n\n > li {\n display: inline-block;\n padding-left: 1rem;\n padding-right: 1rem;\n }\n }\n\n\n .nav:not(.nav--admin) .nav__menu--secondary > .container > .list-unstyled {\n font-size: rem(15);\n padding-top: 0;\n }\n\n .nav.nav--admin .nav__menu--secondary > .container > .list-unstyled {\n text-align: left;\n }\n\n}\n// #endregion\n\n// #region Drop down links\n\n.nav .list-unstyled {\n\n > li {\n\n\n ul {\n \n padding-top: 0;\n padding-left: 1rem;\n\n @include media-breakpoint-up(md) {\n padding-left: 0;\n }\n\n li a:not(.text-decoration-none):not(.btn),\n li .link:not(.text-decoration-none):not(.btn){\n\n &:focus,\n &:hover {\n text-decoration: underline;\n\n }\n\n &:before {\n display: none;\n }\n }\n }\n \n .link:not(.text-decoration-none):not(.btn) {\n padding: 0.5rem 1.5rem 0.5rem 0;\n display: inline-block;\n cursor: pointer;\n position: relative;\n \n &:after {\n content: \"\";\n position: absolute;\n top: 50%;\n right: 0;\n width: 1.2em;\n height: 1.2em;\n \n background: currentColor;\n mask-image: var(--icon-arrow);\n mask-size: 50%;\n mask-repeat: no-repeat;\n mask-position: 50% 50%;\n -webkit-mask-image: var(--icon-arrow);\n -webkit-mask-size: 50%;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-position: 50% 50%;\n transition: transform 0.2s ease-in-out;\n transform: rotate(90deg) translate(-50%,0);\n }\n\n }\n\n details {\n @include media-breakpoint-up(md) {\n\n z-index: var(--index-above);\n padding: 0 1rem;\n margin-left: -1rem;\n margin-right: -1rem;\n width: calc(100% + 2rem)\n }\n }\n\n @include media-breakpoint-up(md) {\n details:not(.nav__mega-menu) {\n\n position: relative;\n }\n }\n\n details .inner {\n\n padding-bottom: 2rem;\n\n @include media-breakpoint-up(md) {\n \n position: absolute;\n top: 100%;\n right: 0;\n min-width: 100%;\n width: fit-content!important;\n max-width: rem(300);\n background: white;\n padding: 1rem;\n box-shadow: 0 4px 20px -10px rgb(51 51 51 / 15%);\n }\n }\n\n\n\n details[open] {\n .link:not(.text-decoration-none):not(.btn) {\n\n &:before {\n width: 100%;\n }\n }\n }\n\n details:hover,\n details:focus,\n details:focus-within {\n\n .link:not(.text-decoration-none):not(.btn) {\n\n &:before {\n width: 100%;\n }\n }\n &::details-content { display: contents; }\n .inner {\n display: block!important;\n }\n }\n }\n}\n\n\n\n// #endregion\n\n// #region Mega menu\n.nav .list-unstyled > li details.nav__mega-menu {\n\n @include media-breakpoint-up(md) {\n\n position: static;\n\n height: 4.5rem;\n margin-bottom: -5rem;\n }\n\n .inner {\n \n [class*=\"bg-\"]{\n\n --bs-bg-opacity: 0;\n @include media-breakpoint-up(md) {\n --bs-bg-opacity: 1;\n }\n }\n\n\n @include media-breakpoint-up(md) {\n\n --bs-bg-opacity: 1;\n position: absolute;\n top: 100%;\n left: 50%;\n width: 100vw!important;\n max-width: 100vw!important;\n -webkit-transform: translateX(-50%);\n -ms-transform: translateX(-50%);\n transform: translateX(-50%);\n\n background: rgba(0,0,0,.6);\n height: calc(100vh - 8rem);\n\n pointer-events: none;\n padding-top: 0;\n\n .container {\n padding: 0 rem(60 - 36) 1rem rem(60 - 36)!important;\n max-width: rem(1440)!important;\n text-align: left;\n pointer-events: all;\n display: flex;\n\n > div {\n padding: rem(36);\n }\n }\n }\n }\n}\n// #endregion\n\n// #region inline search\n.nav--inline-search {\n\n .nav__menu form {\n position: relative;\n .form-control__wrapper .form-control {\n padding-right: 3rem;\n }\n\n button {\n position: absolute;\n bottom: 0;\n right: 0;\n margin: 0;\n z-index: var(--index-focus);\n border-color: transparent;\n background: transparent;\n padding: 0.85rem 0rem;\n\n .icon {\n stroke: currentColor;\n }\n }\n }\n\n @include media-breakpoint-up(md) {\n .nav__menu > .list-unstyled {\n text-align: left;\n margin-right: 0!important;\n }\n\n .nav__menu form {\n min-width: rem(350);\n position: relative;\n\n .form-control__wrapper {\n margin-bottom: 0;\n display: flex;\n align-items: center;\n\n label {\n white-space: nowrap;\n padding-right: 1rem;\n }\n\n .form-control {\n padding: rem(7) 3rem rem(7) 1rem;\n }\n }\n\n button {\n padding: rem(8) 0rem;\n }\n }\n }\n}\n// #endregion\n\n// #region Martketplace\n.nav--marketplace {\n\n --nav-border: #eeeeee;\n --nav-height: 6rem;\n --featured-hover-bg: #eeeeee;\n\n @media screen and (prefers-color-scheme: dark) {\n\n --featured-hover-bg: #001c22;\n }\n\n &.nav--admin {\n\n --nav-height: 4.5rem;\n }\n\n border-bottom: 1px solid var(--nav-border);\n\n .nav__logo {\n\n a:not(.current) {\n display: none;\n }\n }\n\n .nav__menu {\n height: 100%;\n padding-top: 1.5rem;\n padding-left: var(--container-padding-x);\n padding-right: var(--container-padding-x);\n }\n\n .nav__featured-link:hover {\n background: var(--featured-hover-bg);\n }\n\n .list-unstyled {\n a:before {\n display: none!important;\n }\n }\n\n .nav__menu-btn {\n margin-left: 2rem;\n }\n\n @include media-breakpoint-up(md) {\n\n .nav__inner > .container:not(.container-fluid) {\n max-width: 100%;\n padding-left: 2rem;\n padding-right: 2rem;\n }\n\n .nav__logo {\n display: flex;\n justify-content: space-between;\n\n\n a:not(.current) {\n display: inline-block;\n }\n\n a:before {\n content: '';\n position: absolute;\n left: 50%;\n top: 100%;\n margin-top: rem(10);\n width: 0%;\n height: rem(6);\n @include var(background-color,--colour-underline);\n -webkit-transform: translateX(-50%);\n -ms-transform: translateX(-50%);\n transform: translateX(-50%);\n -webkit-transition: .3s ease-in;\n transition: .3s ease-in;\n z-index: calc(var(--index-menu) + var(--index-above));\n }\n\n a:hover:before,\n .current:before {\n \n width: 100%;\n }\n }\n\n // Update the nav\n #showMenu:checked ~ .nav__inner {\n height: auto;\n overflow: visible;\n }\n .nav__menu {\n display: block;\n height: calc(100vh - var(--nav-height));\n width: rem(400);\n position: absolute;\n top: var(--nav-height);\n z-index: 60;\n background: var(--bs-body-bg);\n overflow-y: auto;\n box-shadow: -0.5rem 1rem 1rem rgb(0 0 0 / 5%);\n border-top: 1px solid var(--nav-border);\n border-left: 1px solid var(--nav-border);\n transition: right ease-in-out 0.3s;\n padding: 2.5rem;\n right: rem(-416);\n }\n #showMenu:checked ~ .nav__inner .nav__menu {\n right: 0;\n }\n\n .nav__menu {\n\n padding-top: 1.5rem;\n padding-left: 2rem;\n padding-right: 1.5rem;\n \n > .list-unstyled {\n text-align: left;\n\n li {\n width: 100%;\n }\n }\n }\n\n // Secondary nav\n \n .nav__menu--secondary {\n position: absolute;\n top: calc(var(--nav-height) + 1px);\n left: 0;\n height: calc(100vh - var(--nav-height) - 1px);\n width: rem(280);\n overflow: auto;\n\n .container {\n\n padding-left: 2rem;\n padding-right: 1.5rem;\n padding-bottom: rem(48);\n }\n\n .list-unstyled {\n text-align: left;\n\n li {\n width: 100%;\n }\n }\n }\n \n }\n}\n\n@include media-breakpoint-up(md) {\n .main--marketplace {\n padding-left: rem(280);\n \n .container {\n --container-padding: 2rem;\n --container-padding-x: 2rem;\n max-width: 100%!important;\n }\n }\n}\n\n// #endregion\n","@use \"../_func\" as *;\n\n.drawer__btn {\n\n position: sticky;\n bottom: 1.5rem;\n left: 0;\n width: 100%;\n z-index: var(--index-floating);\n margin-bottom: -6rem;\n\n .btn {\n margin-bottom: 0;\n }\n}\n\n.drawer {\n\n > .container:first-child {\n display: none;\n margin-bottom: -2rem;\n position: relative;\n z-index: var(--index-focus);\n }\n\n margin-top: 1rem;\n padding-top: 2rem;\n position: relative;\n z-index: var(--index-menu);\n background: rgb(255,255,255);\n background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(255,255,255,1) 1.5rem, rgba(255,255,255,1) 100%);\n}\n\n#showDrawer:checked ~ .drawer {\n \n position: sticky;\n bottom: 0;\n left: 0;\n width: 100%;\n background: rgb(255,255,255);\n //border-top: 1px solid var(--colour-border);\n box-shadow: 0 -1px 20px -10px rgb(51 51 51 / 25%);\n\n > .container:first-child {\n display: block;\n }\n}","@use \"sass:math\";\n@use \"../_func\" as *;\n\n.modal {\n display: none;\n}\n\n.modal:target {\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0,0,0,0.25);\n z-index: var(--index-overlay);\n border: none;\n overscroll-behavior: contain;\n\n > a:first-child {\n \n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 512 512'%3e%3cg transform='rotate(45 256 256)'%3e%3crect id='r' x='16' y='216' width='480' height='80' rx='14'/%3e%3cuse href='%23r' transform='rotate(90 256 256)'/%3e%3c/g%3e%3c/svg%3e\") 8 8, pointer;\n }\n\n > button {\n display: none;\n\n @include media-breakpoint-up(md) {\n display: block;\n position: absolute;\n z-index: var(--index-focus);\n top: 50%;\n transform: translate(0,-50%);\n overflow: hidden;\n text-indent: 300%;\n width: 2rem;\n height: 2rem;\n\n &.btn:not(:hover):not(:focus) {\n background-color: white;\n }\n\n &.modal__dock--left {\n right: calc(50% + #{rem(math.div(820,2))} + 1rem);\n \n &:after {\n transform: rotate(-180deg);\n }\n }\n &.modal__dock--right {\n left: calc(50% + #{rem(math.div(820,2))} + 1rem);\n }\n }\n }\n\n\n &.modal--left button.modal__dock--left {\n display: none;\n }\n\n &.modal--left button.modal__dock--right {\n left: calc(#{rem(640)} + 2rem);\n }\n\n &.modal--right button.modal__dock--right {\n display: none;\n }\n\n &.modal--right button.modal__dock--left {\n right: calc(#{rem(640)} + 2rem);\n }\n}\n\n\n.modal__outer {\n\n position: absolute;\n top: 50%;\n left: 50%;\n width: 90%;\n max-width: rem(820);\n height: fit-content;\n max-height: 90%;\n overflow: visible;\n transform: translate(-50%,-50%);\n\n > .btn:first-child {\n position: absolute;\n top: 0;\n right: 0; \n margin-top: -0.75rem;\n margin-right: -0.75rem;\n z-index: var(--index-focus);\n\n &:not(:hover):not(:focus):not(:active){\n background: white;\n }\n }\n @include media-breakpoint-up(md) {\n .modal--left & {\n left: 1rem;\n transform: translate(0,-50%);\n max-width: 40rem;\n }\n\n .modal--right & {\n left: auto;\n right: 1rem;\n transform: translate(0,-50%);\n max-width: 40rem;\n }\n }\n}\n\n.modal__inner {\n background: white;\n overscroll-behavior: contain;\n height: fit-content;\n max-height: 90vh;\n overflow: auto;\n\n & > *:first-child {\n\n padding: 1rem;\n @include media-breakpoint-up(sm) {\n\n padding: 2rem;\n }\n }\n}\n",".stepper{background:#f0f0f0;display:flex;flex-wrap:wrap;margin-bottom:2rem;border:1px solid var(--bs-body-bg);overflow:hidden}@media screen and (min-width: 62em){.stepper{flex-wrap:nowrap;overflow-x:auto}}.stepper ol{margin:0;z-index:1;background:var(--bs-body-bg);counter-reset:section;width:100%;overflow:auto}@media screen and (min-width: 36em){.stepper ol{display:flex;flex-grow:1;padding-right:calc(2rem + 1px);margin-top:-1px;margin-bottom:-1px;margin-right:calc(-2rem - 2px);clip-path:polygon(0 0, calc(100% - 2rem) 0, 100% 50%, calc(100% - 2rem) 100%, 0 100%)}}@media screen and (min-width: 62em){.stepper ol{overflow:initial}}.stepper ol li{width:100%;max-width:100%;background:var(--bs-body-bg);padding:1px}@media screen and (min-width: 36em){.stepper ol li:first-child a{padding-left:1rem;clip-path:polygon(0 0, calc(100% - 2rem) 0, 100% 50%, calc(100% - 2rem) 100%, 0 100%)}}@media screen and (min-width: 62em){.stepper ol li:first-child a{padding-left:2rem}}.stepper ol li a{display:block;padding:1rem;text-decoration:none;position:relative;background:var(--colour-muted);line-height:1;position:relative;color:var(--colour-primary)}@media screen and (min-width: 36em){.stepper ol li a{margin-right:-2rem;padding:2rem 3rem 2rem 3rem;clip-path:polygon(0 0, calc(100% - 2rem) 0, 100% 50%, calc(100% - 2rem) 100%, 0 100%, 2rem 50%);display:flex;height:100%;vertical-align:baseline;justify-content:center;align-items:center}}.stepper ol li a span{position:relative;display:inline;padding-left:2.25rem}.stepper ol li a span:before{counter-increment:section;content:counter(section);display:block;position:absolute;top:50%;left:0;transform:translate(0, -50%);margin-right:.5rem;font-size:.75em;border-radius:50%;border:2px solid currentColor;height:1.5rem;line-height:1.3rem;width:1.5rem;font-family:var(--font-heading);text-align:center}.stepper ol li a.bg-warning span:before,.stepper ol li a.bg-danger span:before{content:\"!\"}.stepper ol li a.bg-success span:before{content:\"✓\";text-indent:-0.1em}.stepper ol li a.current{background:var(--colour-primary);color:#fff;pointer-events:none}.stepper ol li a:not([href]){pointer-events:none}.stepper ol li a[href]:hover{opacity:.6}.stepper ol li a[href]:active{opacity:.8}.stepper>span{width:100%;display:flex;padding:1rem;flex-shrink:0;margin:0;position:relative;z-index:0;align-items:center}.stepper>span.stepper__end{display:none}@media screen and (min-width: 62em){.stepper>span{width:max-content;padding:2rem 2rem}.stepper>span.stepper__end{padding-left:3.5rem;display:flex}}","@use \"../_func\" as *;\n\n.stepper {\n background: #f0f0f0;\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 2rem;\n border: 1px solid var(--bs-body-bg);\n overflow: hidden;\n\n @include media-breakpoint-up(md) {\n \n flex-wrap: nowrap;\n overflow-x: auto;\n }\n\n ol {\n margin: 0;\n z-index: 1;\n background: var(--bs-body-bg);\n counter-reset: section;\n width: 100%;\n overflow: auto;\n\n @include media-breakpoint-up(sm) {\n\n display: flex;\n flex-grow: 1;\n padding-right: calc(2rem + 1px);\n margin-top: -1px;\n margin-bottom: -1px;\n margin-right: calc(-2rem + -2px);\n clip-path: polygon(0 0, calc(100% - 2rem) 0, 100% 50%, calc(100% - 2rem) 100%, 0 100%);\n }\n\n @include media-breakpoint-up(md) {\n overflow: initial;\n }\n\n li {\n width: 100%;\n max-width: 100%;\n background: var(--bs-body-bg);\n padding: 1px;\n\n @include media-breakpoint-up(sm) {\n &:first-child a{\n padding-left: 1rem;\n clip-path: polygon(0 0, calc(100% - 2rem) 0, 100% 50%, calc(100% - 2rem) 100%, 0 100%);\n }\n }\n\n @include media-breakpoint-up(md) {\n &:first-child a{\n padding-left: 2rem;\n }\n }\n \n a {\n display: block;\n padding: 1rem;\n text-decoration: none;\n position: relative;\n background: var(--colour-muted);\n line-height: 1;\n position: relative;\n color: var(--colour-primary);\n\n @include media-breakpoint-up(sm) {\n\n margin-right: -2rem;\n padding: 2rem 3rem 2rem 3rem;\n clip-path: polygon(0 0, calc(100% - 2rem) 0, 100% 50%, calc(100% - 2rem) 100%, 0 100%, 2rem 50%);\n display: flex;\n height: 100%;\n vertical-align: baseline;\n justify-content: center;\n align-items: center;\n }\n \n span {\n position: relative;\n display: inline;\n padding-left: 2.25rem;\n\n &:before {\n counter-increment: section; \n content: counter(section);\n display: block;\n position: absolute;\n top: 50%;\n left: 0;\n transform: translate(0,-50%);\n margin-right: 0.5rem;\n font-size: 0.75em;\n border-radius: 50%;\n border: 2px solid currentColor;\n height: 1.5rem;\n line-height: 1.3rem;\n width: 1.5rem;\n font-family: var(--font-heading);\n text-align: center;\n }\n }\n\n &.bg-warning span:before,\n &.bg-danger span:before {\n content: \"!\";\n }\n\n &.bg-success span:before {\n content: \"\\2713\";\n text-indent: -0.1em;\n }\n\n &.current {\n background: var(--colour-primary);\n color: white;\n pointer-events: none;\n }\n\n &:not([href]){\n pointer-events: none;\n }\n\n &[href]:hover {\n opacity: 0.6;\n }\n &[href]:active {\n\n opacity: 0.8;\n }\n\n }\n }\n }\n\n\n > span {\n\n width: 100%;\n display: flex;\n padding: 1rem;\n flex-shrink: 0;\n margin: 0;\n position: relative;\n z-index: 0;\n align-items: center;\n\n &.stepper__end {\n display: none;\n }\n \n @include media-breakpoint-up(md) {\n \n width: max-content;\n padding: 2rem 2rem;\n \n &.stepper__end {\n padding-left: 3.5rem;\n display: flex;\n }\n }\n }\n}","@use \"../_func\" as *;\n\n.tabs__container {\n\n position: relative;\n\n .tab__input {\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n }\n\n > .tabs__links {\n margin-bottom: 1.5rem;\n overflow: hidden;\n\n .link:not(.text-decoration-none):not(.btn) {\n --is-current: 0;\n font-weight: bold;\n font-family: var(--font-heading);\n font-size: rem(18);\n cursor: pointer;\n margin: 0 0 0.5rem 0;\n float: left;\n clear: both;\n\n @include media-breakpoint-up(sm) {\n clear: none;\n margin-bottom: 0;\n margin-right: 2rem;\n }\n\n &:before {\n width: 0;\n width: calc(var(--is-current) * 100%);\n }\n\n &:hover:before,\n &:focus:before {\n width: 100%;\n }\n }\n }\n\n .tab {\n display: none;\n }\n\n input:focus-visible ~ .tabs__links {\n outline: blue outset 1px;\n }\n\n @for $i from 1 through 10 {\n input:checked:nth-child(#{$i}) ~ .tabs__links .link:not(.text-decoration-none):not(.btn):nth-child(#{$i}) {\n \n --is-current: 1;\n --panel-tab-colour: white;\n --panel-tab-border: var(--colour-secondary)\n }\n input:checked:nth-child(#{$i}) ~ .tabs > .tab:nth-child(#{$i}){\n display: block;\n display: contents;\n }\n }\n}\n\n// #region admin panel\n.admin-panel > .tabs__container:first-child {\n\n display: contents;\n\n > .tabs {\n display: contents;\n }\n\n > .tabs__links {\n\n padding-bottom: 0;\n\n .link:not(.text-decoration-none):not(.btn) {\n\n margin-bottom: 0;\n }\n }\n}\n// #endregion\n","@use \"../_func\" as *;\n\n.alert {\n\n &__inner {\n position: relative;\n padding: 1.5rem;\n margin-bottom: 2rem;\n @include border-radius($alert-border-radius);\n //--bs-bg-opacity: 0.5;\n\n &:not(.bg-primary):not(.bg-dark):not(.bg-danger) {\n --colour-body: black;\n color: black;\n }\n\n > *:last-child {\n margin-bottom: 0;\n }\n\n > * {\n max-width: 100%;\n }\n }\n\n &--fixed {\n position: fixed;\n padding-top: 2rem;\n z-index: var(--index-floating);\n left: 50%;\n transform: translate(-50%,0);\n bottom: 0;\n }\n}\n\n// Dismissible alerts\n.alert--dismissible .alert__inner{\n padding-right: 4rem;\n overflow: hidden;\n\n // Adjust close link position\n .btn-close {\n position: absolute;\n top: 1.5rem;\n right: 1.5rem;\n height: 1rem;\n width: 1rem;\n padding:0;\n border: none;\n z-index: var(--index-focus);\n background: currentColor;\n mask-image: var(--icon-close);\n mask-size: 100%;\n mask-repeat: no-repeat;\n mask-position: 50% 50%;\n }\n}\n\n.alert__holder {\n position: fixed;\n z-index: var(--index-floating);\n bottom: 0;\n left: 0;\n width: 100%;\n max-height: 100vh;\n overflow: auto;\n background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.4));\n\n > *:first-child {\n margin-top: 2rem;\n }\n\n .alert--fixed {\n position: static;\n transform: none;\n padding-top: 0;\n }\n}\n\n[data-timeout] .alert__inner:after {\n \n content: \"\";\n position: absolute;\n bottom: 0;\n left: 0;\n width: 0%;\n height: 0.25rem;\n background: black;\n animation: progress var(--animation-length) linear;\n}\n\n@keyframes progress{\n 0%{\n width: 0%;\n }\n 100%{\n width: 100%;\n }\n};"],"names":[],"sourceRoot":""}