{"version":3,"file":"css/app.css","mappings":"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","sources":["webpack:///./js/components/EditionBadge.vue","webpack:///./js/components/RatingStars.vue","webpack:///./js/components/PluginCard.vue","webpack:///../../../../../packages/craftcms-sass/_mixins.scss","webpack:///./js/components/InfoHud.vue","webpack:///./js/components/LicenseStatus.vue","webpack:///./js/components/upgradecraft/CmsEdition.vue","webpack:///./js/components/upgradecraft/CmsEditions.vue","webpack:///./js/components/StatusMessage.vue","webpack:///./js/components/PluginActions.vue","webpack:///./js/components/ActiveInstallsChart.vue","webpack:///./js/components/ProgressBar.vue","webpack:///./js/components/PluginRatingStats.vue","webpack:///./js/components/ChangelogRelease.vue","webpack:///./js/components/modal/Modal.vue","webpack:///./js/components/CategorySelector.vue","webpack:///./js/components/ScreenshotModal.vue","webpack:///./sass/main.scss","webpack:///./sass/_tailwind.scss","webpack:///./sass/_layout.scss","webpack:///./sass/_general.scss","webpack:///./sass/_nav-items.scss","webpack:///./sass/_tooltip.scss","webpack:///./sass/_readable.scss","webpack:///./App.vue","webpack:///../../../../../node_modules/swiper/css/swiper.css","webpack:///./js/components/ui/CBtn.vue","webpack:///./js/components/ui/CDropdown.vue","webpack:///./js/components/ui/CSpinner.vue","webpack:///./js/components/ui/CLightswitch.vue"],"sourcesContent":["\n@import '@craftcms/sass/mixins';\n\n.edition-badge {\n  @apply tw-inline-block;\n\n  &.is-block {\n    @apply tw-block;\n  }\n\n  &:not(.is-block) {\n    @apply tw-relative;\n  }\n\n  &.is-big {\n    .edition-badge-name {\n      @apply tw-text-base tw-px-3 tw-py-1;\n    }\n  }\n\n  .edition-badge-name {\n    @apply tw-inline-block tw-uppercase tw-border tw-border-solid tw-border-gray-400 tw-px-2 tw-py-1 tw-text-gray-500 tw-rounded tw-text-xs;\n    letter-spacing: 1.5px;\n  }\n}\n","\npath {\n  @apply tw-stroke-gray-300;\n  stroke-width: 1px;\n}\n\n.rating-stars {\n  position: relative;\n  display: inline-flex;\n}\n\n.rating-stars__mask {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n}\n\n.stars {\n  display: flex;\n  flex-wrap: nowrap;\n}\n\n.stars {\n  color: rgb(243, 244, 246);\n}\n\n.star {\n  width: 1rem;\n  height: 1rem;\n}\n\n.stars--active {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  clip-path: v-bind(clipPathStyle);\n  color: #facc15;\n\n  path {\n    stroke: #eab308;\n  }\n}\n\nsvg {\n  fill: currentColor;\n}\n\n@media (prefers-color-scheme: dark) {\n  path {\n    stroke: theme('colors.gray.500');\n  }\n\n  .stars--active {\n    path {\n      stroke: theme('colors.yellow.500');\n    }\n  }\n}\n","\n@import '@craftcms/sass/mixins';\n\n.plugin-details-header {\n  @apply tw-leading-normal tw-overflow-hidden tw-mb-1;\n  max-height: 4.75em;\n\n  .plugin-name {\n    @apply tw-flex tw-mb-1;\n\n    .edition-badge {\n      @apply tw-ml-2;\n    }\n  }\n}\n\n.plugin-rating {\n  display: flex;\n  align-items: center;\n}\n\na.plugin-card {\n  box-sizing: border-box;\n  @apply tw-text-gray-900;\n\n  &:hover {\n    @apply tw-text-gray-900;\n\n    strong {\n      @apply tw-text-blue-600;\n    }\n  }\n\n  .installed {\n    @apply tw-absolute;\n    top: 14px;\n    @include right(18px);\n    color: #ccc;\n  }\n}\n\n.ps-grid-plugins {\n  .plugin-card {\n    @apply tw-h-full;\n  }\n}\n","@use 'sass:color';\n@use 'sass:list';\n@use 'sass:string';\n$white: #fff;\n$black: #000;\n\n$grey050: hsl(212, 60%, 97%);\n$grey100: hsl(212, 50%, 93%);\n$grey200: hsl(212, 30%, 85%);\n$grey300: hsl(211, 13%, 65%);\n$grey350: hsl(211, 11%, 59%);\n$grey400: hsl(210, 10%, 53%);\n$grey500: hsl(211, 12%, 43%);\n$grey550: hsl(210, 13%, 40%);\n$grey600: hsl(209, 14%, 37%);\n$grey700: hsl(209, 18%, 30%);\n$grey800: hsl(209, 20%, 25%);\n$grey900: hsl(210, 24%, 16%);\n$grey1000: hsl(210, 24%, 10%);\n\n$red050: #fef2f2;\n$red100: #fee2e2;\n$red200: #fecaca;\n$red300: #fca5a5;\n$red400: #f87171;\n$red500: #ef4444;\n$red600: #dc2626;\n$red700: #b91c1c;\n$red800: #991b1b;\n$red900: #7f1d1d;\n\n$orange050: #fff7ed;\n$orange100: #ffedd5;\n$orange200: #fed7aa;\n$orange300: #fdba74;\n$orange400: #fb923c;\n$orange500: #f97316;\n$orange600: #ea580c;\n$orange700: #c2410c;\n$orange800: #9a3412;\n$orange900: #7c2d12;\n\n$yellow050: #fefce8;\n$yellow100: #fef9c3;\n$yellow200: #fef08a;\n$yellow300: #fde047;\n$yellow400: #facc15;\n$yellow500: #eab308;\n$yellow600: #ca8a04;\n$yellow700: #a16207;\n$yellow800: #854d0e;\n$yellow900: #713f12;\n\n$green050: #f0fdf4;\n$green100: #dcfce7;\n$green200: #bbf7d0;\n$green300: #86efac;\n$green400: #4ade80;\n$green500: #22c55e;\n$green600: #16a34a;\n$green700: #15803d;\n$green800: #166534;\n$green900: #14532d;\n\n$teal050: #f0fdfa;\n$teal100: #ccfbf1;\n$teal200: #99f6e4;\n$teal300: #5eead4;\n$teal400: #2dd4bf;\n$teal500: #14b8a6;\n$teal550: #11a697;\n$teal600: #0d9488;\n$teal700: #0f766e;\n$teal800: #115e59;\n$teal900: #134e4a;\n\n$cyan050: #ecfeff;\n$cyan100: #cffafe;\n$cyan200: #a5f3fc;\n$cyan300: #67e8f9;\n$cyan400: #22d3ee;\n$cyan500: #06b6d4;\n$cyan600: #0891b2;\n$cyan700: #0e7490;\n$cyan800: #155e75;\n$cyan900: #164e63;\n\n$blue050: #eff6ff;\n$blue100: #dbeafe;\n$blue200: #bfdbfe;\n$blue300: #93c5fd;\n$blue400: #60a5fa;\n$blue500: #3b82f6;\n$blue600: #2563eb;\n$blue700: #1d4ed8;\n$blue800: #1e40af;\n$blue900: #1e3a8a;\n\n$violet050: #f5f3ff;\n$violet100: #ede9fe;\n$violet200: #ddd6fe;\n$violet300: #c4b5fd;\n$violet400: #a78bfa;\n$violet500: #8b5cf6;\n$violet600: #7c3aed;\n$violet700: #6d28d9;\n$violet800: #5b21b6;\n$violet900: #4c1d95;\n\n$pink050: #fdf2f8;\n$pink100: #fce7f3;\n$pink200: #fbcfe8;\n$pink300: #f9a8d4;\n$pink400: #f472b6;\n$pink500: #ec4899;\n$pink600: #db2777;\n$pink700: #be185d;\n$pink800: #9d174d;\n$pink900: #831843;\n\n// submit button colors\n$primaryColor: $red600;\n$secondaryColor: $grey500;\n\n$inputColor: hsl(212, 25%, 50%);\n\n// text colors\n$textColor: $grey700;\n$mediumDarkTextColor: $grey550;\n$mediumTextColor: $grey550;\n$lightTextColor: $grey500;\n$linkColor: #1f5fea;\n\n// menu colors\n$menuOptionColor: $textColor;\n$menuOptionActiveColor: $textColor;\n$menuOptionActiveBackgroundColor: $grey050;\n\n// hairline colors\n$hairlineColor: color.adjust($grey800, $alpha: -0.9);\n$mediumHairlineColor: color.adjust($grey600, $alpha: -0.75);\n$darkHairlineColor: color.adjust($grey400, $alpha: -0.5);\n\n// focus colors\n$lightFocusColor: $blue300;\n$mediumFocusColor: $blue500;\n$darkFocusColor: #0f74b1;\n\n// focus rings\n$lightFocusRing:\n  0 0 0 1px $lightFocusColor,\n  0 0 0 3px color.adjust($lightFocusColor, $alpha: -0.3);\n$mediumFocusRing:\n  0 0 0 1px $mediumFocusColor,\n  0 0 0 3px color.adjust($mediumFocusColor, $alpha: -0.3);\n$darkFocusRing:\n  0 0 0 1px $darkFocusColor,\n  0 0 0 3px color.adjust($darkFocusColor, $alpha: -0.3);\n\n// selection colors\n$lightSelColor: $grey200;\n$darkSelColor: $grey500;\n\n// alert/notice colors\n$errorColor: $red600;\n$warningColor: $yellow800;\n$successColor: $teal500;\n$noticeColor: $blue800;\n\n// UI element styles\n$smallBorderRadius: 3px;\n$mediumBorderRadius: 4px;\n$largeBorderRadius: 5px;\n\n$menuBorderRadius: $mediumBorderRadius;\n\n@mixin sans-serif-font {\n  font-family:\n    system-ui,\n    BlinkMacSystemFont,\n    -apple-system,\n    'Segoe UI',\n    'Roboto',\n    'Oxygen',\n    'Ubuntu',\n    'Cantarell',\n    'Fira Sans',\n    'Droid Sans',\n    'Helvetica Neue',\n    sans-serif;\n}\n\n@mixin fixed-width-font($size: 0.9em) {\n  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier,\n    monospace;\n  font-size: $size !important;\n}\n\n@function toRem($values...) {\n  @warn \"torem mixin is deprecated. Use calc($value / 16 * 1rem) instead.\";\n  $max: list.length($values);\n  $remValues: '';\n\n  @for $i from 1 through $max {\n    $remValues: #{$remValues + calc(list.nth($values, $i) / 16)}rem;\n\n    @if $i < $max {\n      $remValues: #{$remValues + ' '};\n    }\n  }\n\n  @return $remValues;\n}\n\n@mixin fontSize($size) {\n  @warn \"fontsize mixin is deprecated. Use CSS values instead.\";\n  font-size: toRem($size);\n}\n\n// Other\n\n@mixin svg-mask($color) {\n  rect,\n  circle,\n  ellipse,\n  line,\n  polyline,\n  polygon,\n  path,\n  text {\n    fill: $color;\n    stroke-width: 0;\n  }\n}\n\n@mixin icon {\n  font-family: 'Craft';\n  speak: never;\n  -webkit-font-feature-settings: 'liga', 'dlig';\n  -moz-font-feature-settings: 'liga=1, dlig=1';\n  -moz-font-feature-settings: 'liga', 'dlig';\n  -ms-font-feature-settings: 'liga', 'dlig';\n  -o-font-feature-settings: 'liga', 'dlig';\n  font-feature-settings: 'liga', 'dlig';\n  text-rendering: optimizeLegibility;\n  font-weight: normal;\n  font-variant: normal;\n  text-transform: none;\n  line-height: 1;\n  direction: ltr; // Fixes a rendering issue in Chrome/Win\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n\n  display: inline-block;\n  text-align: center;\n  font-style: normal;\n  vertical-align: middle;\n  word-wrap: normal !important;\n  user-select: none;\n}\n\n@mixin angle($dir: down, $color: currentColor, $width: calc(2rem / 16)) {\n  display: block;\n  content: '';\n  font-size: 0;\n  width: calc(7rem / 16);\n  height: calc(7rem / 16);\n  border: solid $color;\n  border-width: 0 $width $width 0;\n  opacity: 0.8;\n  position: relative;\n\n  @if $dir == up {\n    transform: rotate(225deg);\n    inset-block-start: 2px;\n  } @else if $dir == down {\n    transform: rotate(45deg);\n  } @else if $dir == left {\n    body.ltr & {\n      transform: rotate(135deg);\n    }\n    body.rtl & {\n      transform: rotate(-45deg);\n    }\n  } @else if $dir == right {\n    body.ltr & {\n      transform: rotate(-45deg);\n    }\n    body.rtl & {\n      transform: rotate(135deg);\n    }\n  }\n}\n\n@mixin clearafter {\n  content: '';\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n}\n\n@mixin shadow {\n  box-shadow: 0 1px 5px -1px color.adjust($grey900, $alpha: -0.8);\n}\n\n@mixin pane {\n  background: var(--pane-bg);\n  box-shadow: var(--pane-shadow);\n\n  &:focus {\n    box-shadow: var(--focus-ring);\n  }\n}\n\n@mixin modal {\n  border: var(--modal-border);\n  border-radius: var(--modal-border-radius);\n  background-color: var(--modal-bg);\n  box-shadow: var(--modal-shadow) !important;\n}\n\n@mixin light-on-dark-text() {\n  // Make light on dark text sharp on Macs\n  // (sub-pixel antialiasing looks too bold/blurry with light text on dark background)\n  -moz-osx-font-smoothing: grayscale;\n  -webkit-font-smoothing: antialiased;\n}\n\n@mixin light-focus-ring() {\n  @warn \"light-focus-ring mixin is deprecated. Use CSS variables instead.\";\n  --focus-ring: var(--focus-ring-light);\n}\n\n@mixin dark-btn-light-bg-focus-ring() {\n  @warn \"dark-btn-light-bg-focus-ring is deprecated. Use CSS variables instead.\";\n  --focus-ring: var(--focus-ring-outset);\n}\n\n@mixin custom-color-focus-ring($primary, $secondary: null) {\n  @warn \"custom-color-focus-ring mixin is deprecated. Use CSS variables instead.\";\n\n  @if $secondary != null {\n    --focus-ring: 0 0 0 1px #{$primary}, 0 0 0 3px #{$secondary};\n  } @else {\n    --focus-ring: 0 0 0 3px #{$primary};\n  }\n}\n\n@mixin two-color-focus-ring($light-button: true) {\n  // Creates a two-color focus ring, with a white\n  // If button is light, the dark box shadow is adjacent to the button\n  // Else the light box shadow is adjacent to the button\n  --light-color: var(--white);\n  --dark-color: var(--gray-800);\n\n  @if $light-button {\n    --focus-ring: 0 0 0 3px var(--dark-color), 0 0 0 6px var(--light-color);\n  } @else {\n    --focus-ring: 0 0 0 3px var(--light-color), 0 0 0 6px var(--dark-color);\n  }\n}\n\n// RTL stuff\n\n@mixin left($left) {\n  @warn \"left mixin is deprecated. Use inset-inline-start instead.\";\n  inset-inline-start: $left;\n}\n\n@mixin right($right) {\n  @warn \"right mixin is deprecated. Use inset-inline-end instead.\";\n  inset-inline-end: $right;\n}\n\n@mixin alignleft {\n  @warn \"alignleft mixin is deprecated. Use text-align: start instead.\";\n  text-align: start;\n}\n\n@mixin alignright {\n  @warn \"alignright mixin is deprecated. Use text-align: end instead.\";\n  text-align: end;\n}\n\n@mixin border-left($params...) {\n  @warn \"border-left mixin is deprecated. Use border-inline-start instead.\";\n  border-inline-start: $params;\n}\n\n@mixin border-right($params...) {\n  @warn \"border-right mixin is deprecated. Use border-inline-end instead.\";\n  border-inline-end: $params;\n}\n\n@mixin border-left-width($param) {\n  @warn \"border-left-width mixin is deprecated. Use border-inline-start-width instead.\";\n  border-inline-start-width: $param;\n}\n\n@mixin border-right-width($param) {\n  @warn \"border-right-width mixin is deprecated. Use border-inline-end-width instead.\";\n  border-inline-end-width: $param;\n}\n\n@mixin border-radius($tl, $tr, $br, $bl) {\n  @warn \"border-radius mixin is deprecated. Use logical border properties instead.\";\n  border-start-start-radius: $tl;\n  border-start-end-radius: $tr;\n  border-end-end-radius: $br;\n  border-end-start-radius: $bl;\n}\n\n@mixin border-top-left-radius($params...) {\n  @warn \"border-top-left-radius mixin is deprecated. Use border-start-start-radius instead.\";\n  border-start-start-radius: $params;\n}\n\n@mixin border-top-right-radius($params...) {\n  @warn \"border-top-right-radius mixin is deprecated. Use border-end-start-radius instead.\";\n  border-start-end-radius: $params;\n}\n\n@mixin border-bottom-left-radius($params...) {\n  @warn \"border-bottom-left-radius mixin is deprecated. Use border-start-end-radius instead.\";\n  border-start-end-radius: $params;\n}\n\n@mixin border-bottom-right-radius($params...) {\n  @warn \"border-bottom-right-radius mixin is deprecated. Use border-end-end-radius instead.\";\n  border-end-end-radius: $params;\n}\n\n@mixin floatleft {\n  @warn \"floatleft mixin is deprecated. Use float: inline-start instead.\";\n  float: inline-start;\n}\n\n@mixin floatright {\n  @warn \"floatright mixin is deprecated. Use float: inline-end instead.\";\n  float: inline-end;\n}\n\n@mixin margin($t, $r, $b, $l, $important: '') {\n  @warn \"margin mixin is deprecated. Use logical margin properties instead.\";\n  margin-block: $t $b string.unquote($important);\n  margin-inline: $l $r string.unquote($important);\n}\n\n@mixin margin-left($margin...) {\n  @warn \"margin-left mixin is deprecated. Use margin-inline-start instead.\";\n  margin-inline-start: $margin;\n}\n\n@mixin margin-right($margin...) {\n  @warn \"margin-left mixin is deprecated. Use margin-inline-end instead.\";\n  margin-inline-end: $margin;\n}\n\n@mixin padding($t, $r, $b, $l, $important: '') {\n  @warn \"padding mixin is deprecated. Use padding logical properties instead.\";\n  padding-block: $t $b string.unquote($important);\n  padding-inline: $l $r string.unquote($important);\n}\n\n@mixin padding-left($padding...) {\n  @warn \"padding-left mixin is deprecated. Use padding-inline-start properties instead.\";\n  padding-inline-start: $padding;\n}\n\n@mixin padding-right($padding...) {\n  @warn \"padding-right mixin is deprecated. Use padding-inline-end properties instead.\";\n  padding-inline-end: $padding;\n}\n\n// Misc\n\n@mixin dark-inputs {\n  @include placeholder-styles($grey400);\n\n  .btn,\n  .select:not(.selectize) select {\n    background-color: $grey200;\n\n    &:focus,\n    &:hover {\n      background-color: color.adjust($grey200, $lightness: -5%);\n    }\n\n    &:active,\n    &.active,\n    &[aria-expanded='true'] {\n      background-color: color.adjust($grey200, $lightness: -10%);\n    }\n  }\n\n  .text {\n    background-color: $grey200;\n\n    &:focus {\n      background-color: color.adjust($grey200, $lightness: -5%);\n    }\n  }\n}\n\n@mixin header-btn {\n  width: calc(30rem / 16);\n  height: calc(30rem / 16);\n  min-height: auto;\n  padding-left: 0;\n  padding-right: 0;\n\n  &:not(:hover):not(:active):not(.active):not([aria-expanded='true']) {\n    background-color: transparent;\n  }\n  &:not(:active):not(.active):not([aria-expanded='true']):hover {\n    background-color: color.adjust($grey300, $alpha: -0.85);\n  }\n}\n\n@mixin h6-styles {\n  margin: 14px 0 3px;\n  font-size: 11px;\n  line-height: 1.2;\n  color: $lightTextColor;\n  text-transform: uppercase;\n}\n\n@mixin token-styles {\n  display: inline-block;\n  border-radius: $smallBorderRadius;\n  padding: 3px 7px;\n  font-size: 12px;\n  line-height: 14px;\n  color: $textColor;\n  background-color: $grey100;\n}\n\n@mixin active-token-styles {\n  background-color: $grey200;\n}\n\n@mixin menu-styles {\n  z-index: 100;\n  border-radius: $menuBorderRadius;\n  padding: 0 14px;\n  overflow: auto;\n  background: $white;\n  user-select: none;\n  box-shadow:\n    0 0 0 1px color.adjust($grey900, $alpha: -0.9),\n    0 5px 20px color.adjust($grey900, $alpha: -0.75);\n}\n\n@mixin menu-item-styles {\n  margin: 0 -14px;\n  padding: 10px 14px;\n  color: $menuOptionColor;\n  text-decoration: none;\n  white-space: nowrap;\n}\n\n@mixin menu-item-active-styles {\n  color: var(--white) !important;\n  --fg-subtle: rgba(255, 255, 255, 0.8);\n  --light-text-color: rgba(255, 255, 255, 0.8);\n  background-color: var(--bg-selection-dark);\n\n  svg {\n    @include svg-mask(var(--white));\n  }\n}\n\n@mixin disclosure-link-hover-styles {\n  color: $menuOptionColor;\n  background-color: $grey050;\n}\n\n@mixin input-styles {\n  border-radius: var(--input-border-radius);\n  border: var(--input-border);\n  background: var(--input-bg);\n  background-clip: padding-box;\n}\n\n@mixin input-focused-styles {\n  box-shadow: var(--focus-ring);\n}\n\n@mixin placeholder-styles($color) {\n  input::-webkit-input-placeholder,\n  textarea::-webkit-input-placeholder {\n    color: $color;\n  }\n\n  input:-ms-input-placeholder,\n  textarea:-ms-input-placeholder {\n    color: $color;\n  }\n\n  input::-ms-input-placeholder,\n  textarea::-ms-input-placeholder {\n    color: $color;\n  }\n\n  input:-moz-placeholder,\n  textarea:-moz-placeholder {\n    color: $color;\n  }\n\n  input::-moz-placeholder,\n  textarea::-moz-placeholder {\n    color: $color;\n  }\n\n  input::placeholder,\n  textarea::placeholder {\n    color: $color;\n  }\n}\n\n@mixin select-styles {\n  position: relative;\n  border-radius: $largeBorderRadius;\n  white-space: nowrap;\n}\n\n@mixin select-container-styles {\n  max-width: 100%;\n  position: relative;\n  :not(.flex) > & {\n    display: inline-block;\n  }\n}\n\n@mixin select-arrow-styles {\n  @include angle;\n  position: absolute;\n  z-index: 1;\n  inset-block-start: calc(50% - 5px);\n  inset-inline-end: 9px;\n  user-select: none;\n  pointer-events: none;\n  color: var(--ui-control-color);\n}\n\n@mixin select-input-styles {\n  display: block;\n  position: relative;\n  max-width: 100%;\n  border: none;\n  padding-block: 7px;\n  padding-inline: 10px 22px;\n  font-size: 14px;\n  line-height: 20px;\n  color: $textColor;\n  background-color: var(--button-bg);\n  appearance: none;\n  // from https://stackoverflow.com/a/15933790/1688568\n  &::-ms-expand {\n    display: none;\n  }\n}\n\n@mixin select-input-fullwidth-styles {\n  min-width: 100%;\n}\n\n@mixin select-input-hovered-styles {\n  outline-color: transparent;\n  background-color: var(--button-bg--hover);\n}\n\n@mixin select-input-focused-styles {\n  outline-color: transparent;\n  box-shadow: var(--focus-ring);\n}\n\n@mixin touch-target {\n  height: var(--touch-target-size);\n  width: var(--touch-target-size);\n}\n\n// https://tailwindcss.com/docs/screen-readers#undoing-screen-reader-only-elements\n@mixin visually-hidden {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border-width: 0;\n}\n\n@mixin not-visually-hidden {\n  position: static;\n  width: auto;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n  white-space: normal;\n}\n\n@mixin readable {\n  font-size: 16px;\n  line-height: 22px;\n\n  h1,\n  .h1,\n  h2,\n  .h2,\n  h3,\n  .h3,\n  h4,\n  .h4,\n  h5,\n  .h5,\n  h6,\n  .h6 {\n    margin: 24px 0 16px;\n    font-weight: 600;\n  }\n\n  h1,\n  .h1 {\n    font-size: 32px;\n    line-height: 40px;\n    color: #000;\n  }\n\n  h2,\n  .h2 {\n    font-size: 24px;\n    line-height: 30px;\n  }\n\n  h3,\n  .h3 {\n    font-size: 20px;\n    line-height: 24px;\n  }\n\n  h4,\n  .h4 {\n    font-size: 16px;\n    line-height: 20px;\n  }\n\n  h5,\n  .h5 {\n    font-size: 14px;\n    line-height: 18px;\n  }\n\n  h6,\n  .h6 {\n    font-size: 13.6px;\n    line-height: 17px;\n    color: $mediumTextColor;\n  }\n\n  ul,\n  ol {\n    margin: 1em 0;\n    padding-inline-start: 2em;\n  }\n\n  ul li {\n    list-style-type: disc;\n  }\n\n  li + li {\n    margin-top: 0.25em;\n  }\n\n  .tip-dismiss-btn {\n    position: absolute;\n    top: 12px;\n    inset-inline-end: 12px;\n\n    & + p {\n      margin-top: 0;\n    }\n  }\n\n  blockquote {\n    margin: 16px 0;\n\n    &:not(.note) {\n      padding: 0 16px;\n      color: $mediumTextColor;\n      border-inline-start: 4px solid $hairlineColor;\n    }\n\n    &.note {\n      position: relative;\n      border-radius: 4px;\n      padding: 1em;\n      padding-inline-start: 50px;\n      border: 1px solid;\n\n      &.dismissible {\n        padding-inline-end: 36px;\n      }\n\n      &:not(.tip):not(.warning) {\n        border-color: $errorColor;\n        color: #bf503f;\n\n        &:before {\n          content: 'alert';\n          color: $errorColor;\n        }\n      }\n\n      &.tip {\n        border-color: $linkColor;\n        color: $linkColor;\n\n        &:before {\n          content: 'lightbulb';\n          color: $linkColor;\n        }\n      }\n\n      &.warning {\n        border-color: $warningColor;\n        color: #cf783a;\n\n        &:before {\n          content: 'alert';\n          color: $warningColor;\n        }\n      }\n\n      &:before {\n        @include icon;\n        opacity: 1;\n        position: absolute;\n        top: 15px;\n        inset-inline-start: 16px;\n        font-size: 24px;\n        width: 24px;\n      }\n\n      a[href] {\n        color: currentColor;\n        text-decoration: underline;\n      }\n    }\n  }\n\n  .go:after {\n    font-size: 14px;\n  }\n}\n\n@mixin checkered-bg($size) {\n  // h/t https://gist.github.com/dfrankland/f6fed3e3ccc42e3de482b324126f9542\n  $halfSize: $size * 0.5;\n  background-image: linear-gradient(\n      45deg,\n      #{color.adjust($grey300, $alpha: -0.75)} 25%,\n      transparent 25%\n    ),\n    linear-gradient(\n      135deg,\n      #{color.adjust($grey300, $alpha: -0.75)} 25%,\n      transparent 25%\n    ),\n    linear-gradient(\n      45deg,\n      transparent 75%,\n      #{color.adjust($grey300, $alpha: -0.75)} 75%\n    ),\n    linear-gradient(\n      135deg,\n      transparent 75%,\n      #{color.adjust($grey300, $alpha: -0.75)} 75%\n    );\n  background-size: $size $size;\n  background-position:\n    0 0,\n    $halfSize 0,\n    $halfSize -#{$halfSize},\n    0 $halfSize;\n}\n","\n@import '@craftcms/sass/mixins';\n\n.info-hud {\n  @apply tw-inline-block;\n\n  .v-popover {\n    @apply tw-text-gray-400;\n    display: inline-block;\n    line-height: 0;\n\n    &:hover,\n    &.open {\n      @apply tw-cursor-pointer tw-text-blue-600;\n    }\n\n    & > span {\n      outline: none;\n    }\n  }\n}\n\n.tooltip {\n  max-width: 250px;\n}\n","\n@import '@craftcms/sass/mixins';\n\n.license-status {\n  &.license-status {\n    &:hover {\n      cursor: default;\n    }\n\n    &.installed {\n      @apply tw-text-green-700 tw-border-green-700;\n    }\n\n    &.licensed {\n      @apply tw-text-blue-600 tw-border-blue-600;\n    }\n  }\n}\n","\n.cms-editions-edition {\n  @apply tw-border tw-border-gray-200 tw-border-solid tw-p-8 tw-rounded tw-text-center;\n\n  .description {\n    .edition-name {\n      @apply tw-border-b tw-border-gray-200 tw-border-solid tw-text-gray-700 tw-inline-block tw-py-1 tw-uppercase tw-text-lg tw-font-bold;\n    }\n\n    .edition-description {\n      @apply tw-text-lg tw-my-6 tw-leading-normal;\n    }\n  }\n\n  .price-container {\n    .price {\n      @apply tw-text-3xl tw-font-bold;\n    }\n\n    .price-renewal-info {\n      @apply tw-mx-auto tw-mt-2 tw-text-gray-700;\n      max-width: 12rem;\n    }\n  }\n\n  .feature-list {\n    ul {\n      @apply tw-text-left;\n\n      li:not(:first-child) {\n        @apply tw-mt-2;\n      }\n    }\n  }\n\n  .cms-edition-actions {\n    position: relative;\n\n    .c-spinner {\n      position: absolute;\n      bottom: -30px;\n      left: 50%;\n      margin-left: -11px;\n    }\n\n    .cms-edition-status-badge,\n    .c-btn {\n      @apply tw-mt-3;\n    }\n  }\n}\n","\n.cms-editions {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr));\n  @apply tw-gap-4 tw-justify-center;\n\n  .cms-editions-edition {\n    display: grid;\n    grid-template-rows: subgrid;\n    grid-row: span 4;\n    @apply tw-gap-8;\n  }\n}\n","\n.status-message {\n  @apply tw-flex-1 tw-flex tw-items-center tw-justify-center tw-text-center;\n\n  div {\n    .c-spinner {\n      @apply tw-mb-6;\n    }\n\n    .c-icon {\n      @apply tw-mb-6;\n\n      width: 48px;\n      height: 48px;\n    }\n\n    .message {\n      @apply tw-text-center;\n    }\n  }\n}\n","\n.plugin-actions {\n  .c-spinner {\n    @apply tw-absolute tw-left-1/2;\n    bottom: -32px;\n  }\n}\n","\nbody {\n  --chart-fill-color: #dbeafe;\n}\n","\n.track {\n  width: 100%;\n  border-radius: 2px;\n  position: relative;\n}\n\n.indicator {\n  position: absolute;\n  top: 0;\n  left: 0;\n  height: 100%;\n}\n","\n.rating-bar {\n  display: grid;\n  grid-template-columns: auto 1fr 4ch;\n  align-items: center;\n  gap: theme('spacing.2');\n}\n","\n@import '@craftcms/sass/mixins';\n\n.changelog-release {\n  @apply tw-pt-2 tw-pb-4 tw-border-b tw-border-gray-200 tw-border-solid;\n  @apply md:tw-flex;\n\n  .version {\n    @apply tw-relative;\n    @apply md:tw-w-48;\n\n    .anchor {\n      @apply tw-absolute tw-text-white tw-p-1 tw-rounded-full;\n      @include left(-24px);\n      @apply tw-top-5;\n      font-size: 14px;\n      transform: rotate(45deg);\n\n      &:hover {\n        @apply tw-text-black;\n      }\n    }\n\n    &:hover {\n      .anchor {\n        @apply tw-text-black;\n      }\n    }\n\n    h2 {\n      @apply tw-mt-6 tw-mb-2 tw-text-lg;\n    }\n\n    .date {\n      @apply tw-text-gray-600;\n    }\n\n    .critical {\n      @apply tw-uppercase tw-text-red-600 tw-border tw-border-red-600 tw-border-solid tw-inline-block tw-px-1 tw-py-0 tw-rounded tw-text-sm tw-mt-2;\n    }\n  }\n\n  .details {\n    @apply tw-p-0 tw-pt-6;\n    @apply md:tw-flex-1;\n\n    h3 {\n      @apply tw-mt-6 tw-mb-4 tw-text-base;\n    }\n\n    ul {\n      @apply tw-mb-4 tw-ml-6 tw-leading-normal;\n      list-style-type: disc;\n\n      li:not(:first-child) {\n        @apply tw-mt-1;\n      }\n    }\n  }\n}\n","\n@import '@craftcms/sass/mixins';\n\n#pluginstore-modal {\n  @apply tw-absolute tw-top-0 tw-left-0;\n  max-width: 850px;\n  max-height: 650px;\n  z-index: 100;\n\n  .pluginstore-modal-flex {\n    @apply tw-absolute tw-inset-0 tw-flex tw-flex-col;\n\n    header {\n      .btn-left {\n        @apply tw-absolute;\n        top: 28px;\n        @include left(24px);\n      }\n\n      h1 {\n        @apply tw-text-center;\n      }\n    }\n\n    .pluginstore-modal-main {\n      @apply tw-relative tw-flex tw-flex-grow tw-mb-0 tw-min-h-0;\n\n      .pluginstore-modal-content {\n        @apply tw-overflow-auto tw-flex-grow;\n        padding: 24px;\n      }\n    }\n  }\n}\n","\n@import '@craftcms/sass/mixins';\n\n/* Category Selector Btn */\n\n.category-selector-btn {\n  @apply tw-block tw-relative;\n  @apply lg:tw-hidden;\n  background: $grey050;\n  border: 1px solid $hairlineColor;\n  padding: 10px 20px;\n  border-radius: 4px;\n  color: $secondaryColor;\n\n  &:before {\n    @include icon;\n    @apply tw-absolute tw-right-0;\n    top: calc(50% - 10px);\n    font-size: 16px;\n    width: 43px;\n    line-height: 20px;\n    content: 'downangle';\n  }\n\n  &:hover {\n    @apply tw-no-underline;\n  }\n}\n\n/* Category Selector */\n\n.category-selector {\n  @apply lg:tw-flex tw-flex-col tw-fixed tw-top-0 tw-left-0 tw-bg-white tw-z-20;\n  @apply tw-hidden;\n  width: 100vw;\n  height: 100vh;\n  box-sizing: border-box;\n\n  .category-selector-body {\n    @apply tw-overflow-auto tw-h-full tw-p-6;\n    box-sizing: border-box;\n\n    .nav-items {\n      ul {\n        li {\n          &:first-child a {\n            border-top: 0;\n          }\n\n          &:first-child:before {\n            @apply tw-hidden;\n          }\n\n          &:before,\n          &:after {\n            left: 1rem;\n            right: 1rem;\n          }\n\n          a {\n            padding-left: 55px;\n\n            img {\n              left: 24px;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","\n#screenshot-modal {\n  @apply tw-fixed tw-inset-0 tw-bg-gray-100 tw-overflow-hidden;\n  z-index: 101;\n\n  .screenshot-modal-button {\n    @apply tw-bg-gray-300/30 hover:tw-bg-gray-300/80;\n    @apply tw-text-gray-700 tw-text-3xl;\n    @apply tw-rounded tw-px-2 tw-py-2;\n  }\n\n  .close {\n    @apply tw-inline-block tw-text-center tw-z-30;\n    @apply tw-absolute tw-top-4 tw-left-4;\n\n    &:hover {\n      @apply tw-no-underline;\n      color: rgba(0, 0, 0, 0.8);\n    }\n  }\n\n  .carousel {\n    @apply tw-absolute tw-flex tw-inset-0;\n    @apply tw-absolute tw-flex tw-inset-0;\n\n    .swiper-container {\n      @apply tw-flex;\n\n      .swiper-wrapper {\n        @apply tw-flex-1 tw-flex tw-w-auto tw-h-auto;\n\n        .swiper-slide {\n          @apply tw-flex-1 tw-flex tw-text-center tw-justify-center tw-items-center;\n\n          .screenshot {\n            @apply tw-flex tw-flex-1 tw-justify-center tw-items-center tw-h-full;\n            box-sizing: border-box;\n\n            .swiper-zoom-container {\n              @apply tw-w-full tw-h-full tw-flex tw-text-center tw-justify-center tw-items-center;\n\n              img {\n                @apply tw-max-w-full tw-max-h-full;\n              }\n            }\n          }\n        }\n      }\n    }\n\n    .ps-swiper-button-prev,\n    .ps-swiper-button-next {\n      @apply tw-absolute tw-flex tw-justify-center tw-items-center tw-w-auto tw--mt-12 tw-z-10 tw-top-1/2;\n      background-image: none;\n\n      &.swiper-button-disabled {\n        @apply tw-hidden;\n      }\n\n      .c-icon {\n        @apply tw-flex-1 tw-top-0;\n      }\n    }\n\n    .ps-swiper-button-prev {\n      @apply tw-left-0 tw-ml-4;\n\n      .c-icon {\n        left: -2px;\n      }\n    }\n\n    .ps-swiper-button-next {\n      @apply tw-rounded tw-px-2 tw-py-2 tw-right-0 tw-mr-4 tw-h-auto;\n    }\n\n    .pagination-wrapper {\n      @apply tw-w-full tw-absolute tw-bottom-0 tw-py-0 tw-flex tw-z-10 tw-h-2;\n      bottom: 40px;\n\n      .pagination-content {\n        @apply tw-flex tw-flex-1 tw-px-8 tw-max-w-xs tw-mx-auto;\n\n        .swiper-pagination {\n          @apply tw-relative tw-flex tw-flex-1 tw-bg-gray-200 tw-p-0 tw-rounded-full;\n\n          .swiper-pagination-bullet {\n            @apply tw-flex-1 tw-rounded-full tw-bg-gray-200 tw-h-2;\n            &.swiper-pagination-bullet-active {\n              @apply tw-bg-gray-600;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\n@media (min-width: 700px) {\n  .carousel {\n    .swiper-container {\n      .swiper-wrapper {\n        .swiper-slide {\n          .screenshot {\n            .swiper-zoom-container {\n              img {\n                padding-left: 100px;\n                padding-right: 100px;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\n@media (min-height: 700px) {\n  .carousel {\n    .swiper-container {\n      .swiper-wrapper {\n        .swiper-slide {\n          .screenshot {\n            .swiper-zoom-container {\n              img {\n                padding-top: 100px;\n                padding-bottom: 100px;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@charset \"UTF-8\";\n\n@tailwind base;\n\n@import '@craftcms/sass/mixins';\n@import 'tailwind';\n@import 'layout';\n@import 'general';\n@import 'nav-items';\n@import 'tooltip';\n@import 'readable';\n\n@tailwind components;\n@tailwind utilities;\n","/* Add stuff that’s missing because we’re not using preflight */\n\nhtml {\n  @apply tw-box-border;\n}\n\n*,\n::after,\n::before {\n  box-sizing: inherit;\n}\n\nimg {\n  @apply tw-max-w-full tw-h-auto;\n}\n","@charset \"UTF-8\";\n@import '@craftcms/sass/mixins';\n\n#main-container #main #main-content #content-container #content {\n  display: flex;\n  padding: 0;\n  min-height: 400px;\n}\n\na {\n  @apply tw-text-blue-600;\n}\n\n.ps-wrapper {\n  @apply tw-flex tw-flex-1 tw-flex-col;\n  @apply lg:tw-flex-row;\n  padding-block-end: 0 !important;\n\n  .ps-sidebar {\n    @apply tw-px-6 tw-py-6 tw-w-full;\n    background-color: var(--gray-050);\n    border-start-start-radius: var(--radius-lg);\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n    border-end-start-radius: var(--radius-lg);\n    @apply lg:tw-border-b-0 lg:tw-border-r lg:tw-overflow-auto lg:tw-w-64;\n\n    .categories {\n      @apply lg:tw-block;\n    }\n  }\n\n  .ps-main {\n    @apply tw-flex-1 tw-overflow-auto;\n\n    .ps-container {\n      @apply tw-flex-1 tw-max-w-screen-xl tw-mx-auto;\n    }\n  }\n}\n\n.ps-container {\n  @apply tw-px-10 tw-py-6;\n}\n","@charset \"UTF-8\";\n@import '@craftcms/sass/mixins';\n\n/* Basics */\n\nhtml,\nbody,\ndiv,\nspan,\nobject,\niframe,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\ndel,\ndfn,\nem,\nfont,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\narticle,\nmain,\nnav,\nins {\n  min-width: 0;\n}\n\nhr {\n  @apply tw-border-gray-200;\n}\n\nh1 {\n  @apply tw-mb-0;\n  font-size: 18px;\n}\n\nh2 {\n  @apply tw-mt-8 tw-mb-4;\n}\n\np {\n  @apply tw-mb-4;\n}\n\npre {\n  @apply tw-bg-gray-200 tw-p-4 tw-mb-4 tw-overflow-auto tw-max-w-full tw-min-w-0;\n}\n\ncode {\n  @apply tw-bg-gray-200 tw-p-1;\n}\n\n/* Classes */\n\n.no-line-height {\n  line-height: 0;\n}\n\n.input.success input {\n  border-color: var(--fg-success);\n}\n\n.input.errors .select:not(.selectize) select {\n  box-shadow:\n    inset 0 0 0 1px transparent,\n    0 0 0 1px var(--fg-error),\n    0 1px 1px rgb(0 0 0 / 10%);\n}\n\ninput.error {\n  @apply tw-border-red-600;\n}\n\n/* Header */\n\n.ps-header {\n  @apply tw-border-b tw-border-solid tw-border-gray-200 tw-py-2 tw-flex tw-justify-between;\n}\n\n/* Swiper */\n\n.swiper-wrapper {\n  min-width: auto;\n}\n\n/* Craft tweaks */\n\n#header h1 {\n  cursor: pointer;\n}\n\n#main-container {\n  @apply tw-relative;\n}\n\n#main-content #content {\n  @apply tw-relative;\n}\n\n#container {\n  position: static !important; /* #container hack required for modal overlays */\n}\n\n/* Plugin Store actions */\n\n#pluginstore-actions {\n  @apply tw-flex tw-justify-between tw-items-center;\n\n  & > * {\n    margin-inline-start: 18px;\n  }\n\n  #cart-button {\n    svg {\n      @apply tw-inline-block;\n      width: 18px;\n      height: 18px;\n      vertical-align: middle;\n      line-height: 0;\n      margin-inline-end: 3px;\n    }\n\n    svg {\n      @include svg-mask(var(--bg-secondary));\n    }\n\n    &:hover svg {\n      @include svg-mask(darken($secondaryColor, 5%));\n    }\n\n    .badge {\n      margin-inline: -6px 0;\n      margin-block: 0;\n      @apply tw-relative tw-inline-block tw-flex-shrink tw-text-white;\n      inset-block-start: -1px;\n      padding-block: 0;\n      padding-inline: 6px;\n      font-size: 11px;\n      line-height: 16px;\n      border-radius: 1em;\n      background: var(--bg-primary);\n    }\n  }\n\n  #craftid-account {\n    &:hover {\n      @apply tw-no-underline;\n    }\n\n    .photo {\n      svg {\n        @apply tw-align-middle;\n        margin-inline-end: 7px;\n        width: 22px;\n        height: 22px;\n        border-radius: 100%;\n      }\n    }\n\n    &:hover .label {\n      @apply tw-no-underline;\n    }\n  }\n\n  #craftid-connect-form {\n    .ssl-status {\n      @apply tw-inline-block;\n    }\n  }\n}\n",".nav-items {\n  ul {\n    @apply tw--mx-6;\n\n    li {\n      position: relative;\n\n      &::before,\n      &:last-child::after {\n        @apply tw-absolute tw-left-0 tw-right-0;\n        content: '';\n      }\n\n      &::before {\n        @apply tw-top-0;\n      }\n\n      &:last-child::after {\n        @apply tw-bottom-0;\n      }\n\n      a {\n        @apply tw-relative tw-px-6 tw-py-2 tw-text-gray-900 tw-flex tw-items-center;\n\n        svg,\n        img {\n          @apply tw-align-middle tw-mr-3 tw-text-blue-600 tw-w-6 tw-h-6;\n        }\n\n        &:hover {\n          @apply tw-no-underline tw-z-10;\n          background-color: var(--gray-100);\n        }\n\n        &.router-link-exact-active {\n          background-color: var(--gray-200);\n        }\n      }\n    }\n  }\n}\n","@charset \"UTF-8\";\n@import '@craftcms/sass/mixins';\n\n.tooltip {\n  display: block !important;\n  z-index: 10000;\n  background: var(--white);\n  box-shadow: 0 25px 100px rgb(0 0 0 / 50%);\n  padding: 24px;\n\n  .tooltip-arrow {\n    width: 0;\n    height: 0;\n    border-style: solid;\n    position: absolute;\n    margin: 12px;\n    border-color: white;\n  }\n\n  &[x-placement^='top'] {\n    margin-block-end: 12px;\n\n    .tooltip-arrow {\n      border-width: 12px 12px 0;\n      border-inline-start-color: transparent !important;\n      border-inline-end-color: transparent !important;\n      border-block-end-color: transparent !important;\n      inset-block-end: -12px;\n      inset-inline-start: calc(50% - 12px);\n      margin-block: 0;\n    }\n  }\n\n  &[x-placement^='bottom'] {\n    margin-block-start: 12px;\n\n    .tooltip-arrow {\n      border-width: 0 12px 12px;\n      border-inline-start-color: transparent !important;\n      border-inline-end-color: transparent !important;\n      border-block-start-color: transparent !important;\n      inset-block-start: -12px;\n      inset-inline-start: calc(50% - 12px);\n      margin-block: 0;\n    }\n  }\n\n  &[x-placement^='right'] {\n    margin-inline-start: 12px;\n\n    .tooltip-arrow {\n      border-width: 12px 12px 12px 0;\n      border-inline-start-color: transparent !important;\n      border-block-start-color: transparent !important;\n      border-block-end-color: transparent !important;\n      inset-inline-start: -12px;\n      inset-block-start: calc(50% - 12px);\n      margin-inline: 0;\n    }\n  }\n\n  &[x-placement^='left'] {\n    margin-inline-end: 12px;\n\n    .tooltip-arrow {\n      border-width: 12px 0 12px 12px;\n      border-block-start-color: transparent !important;\n      border-inline-end-color: transparent !important;\n      border-block-end-color: transparent !important;\n      inset-inline-end: -12px;\n      inset-block-start: calc(50% - 12px);\n      margin-inline: 0;\n    }\n  }\n\n  &[aria-hidden='true'] {\n    visibility: hidden;\n    opacity: 0;\n    transition:\n      opacity 0.15s,\n      visibility 0.15s;\n  }\n\n  &[aria-hidden='false'] {\n    visibility: visible;\n    opacity: 1;\n    transition: opacity 0.15s;\n  }\n}\n","/* Readable overrides */\n\n.readable {\n  /* Tables */\n  table {\n    display: block;\n    overflow: auto;\n    width: 100%;\n\n    th {\n      font-weight: 600;\n    }\n\n    td,\n    th {\n      border: 1px solid #dfe2e5;\n      padding-block: 6px;\n      padding-inline: 13px;\n    }\n\n    tr {\n      background-color: var(--white);\n      border-block-start: 1px solid #c6cbd1;\n    }\n\n    tr:nth-child(2n) {\n      background-color: var(--gray-050);\n    }\n\n    img {\n      background-color: transparent;\n    }\n  }\n}\n","\n.fade-enter-active,\n.fade-leave-active {\n  transition: opacity 0.3s;\n}\n\n.fade-enter,\n.fade-leave-to {\n  opacity: 0;\n}\n","/**\n * Swiper 5.4.5\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * http://swiperjs.com\n *\n * Copyright 2014-2020 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: June 16, 2020\n */\n\n@font-face {\n  font-family: 'swiper-icons';\n  src: url(\"data:application/font-woff;charset=utf-8;base64, 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\") format(\"woff\");\n  font-weight: 400;\n  font-style: normal;\n}\n:root {\n  --swiper-theme-color: #007aff;\n}\n.swiper-container {\n  margin-left: auto;\n  margin-right: auto;\n  position: relative;\n  overflow: hidden;\n  list-style: none;\n  padding: 0;\n  /* Fix of Webkit flickering */\n  z-index: 1;\n}\n.swiper-container-vertical > .swiper-wrapper {\n  flex-direction: column;\n}\n.swiper-wrapper {\n  position: relative;\n  width: 100%;\n  height: 100%;\n  z-index: 1;\n  display: flex;\n  transition-property: transform;\n  box-sizing: content-box;\n}\n.swiper-container-android .swiper-slide,\n.swiper-wrapper {\n  transform: translate3d(0px, 0, 0);\n}\n.swiper-container-multirow > .swiper-wrapper {\n  flex-wrap: wrap;\n}\n.swiper-container-multirow-column > .swiper-wrapper {\n  flex-wrap: wrap;\n  flex-direction: column;\n}\n.swiper-container-free-mode > .swiper-wrapper {\n  transition-timing-function: ease-out;\n  margin: 0 auto;\n}\n.swiper-slide {\n  flex-shrink: 0;\n  width: 100%;\n  height: 100%;\n  position: relative;\n  transition-property: transform;\n}\n.swiper-slide-invisible-blank {\n  visibility: hidden;\n}\n/* Auto Height */\n.swiper-container-autoheight,\n.swiper-container-autoheight .swiper-slide {\n  height: auto;\n}\n.swiper-container-autoheight .swiper-wrapper {\n  align-items: flex-start;\n  transition-property: transform, height;\n}\n/* 3D Effects */\n.swiper-container-3d {\n  perspective: 1200px;\n}\n.swiper-container-3d .swiper-wrapper,\n.swiper-container-3d .swiper-slide,\n.swiper-container-3d .swiper-slide-shadow-left,\n.swiper-container-3d .swiper-slide-shadow-right,\n.swiper-container-3d .swiper-slide-shadow-top,\n.swiper-container-3d .swiper-slide-shadow-bottom,\n.swiper-container-3d .swiper-cube-shadow {\n  transform-style: preserve-3d;\n}\n.swiper-container-3d .swiper-slide-shadow-left,\n.swiper-container-3d .swiper-slide-shadow-right,\n.swiper-container-3d .swiper-slide-shadow-top,\n.swiper-container-3d .swiper-slide-shadow-bottom {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  pointer-events: none;\n  z-index: 10;\n}\n.swiper-container-3d .swiper-slide-shadow-left {\n  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-container-3d .swiper-slide-shadow-right {\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-container-3d .swiper-slide-shadow-top {\n  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-container-3d .swiper-slide-shadow-bottom {\n  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n/* CSS Mode */\n.swiper-container-css-mode > .swiper-wrapper {\n  overflow: auto;\n  scrollbar-width: none;\n  /* For Firefox */\n  -ms-overflow-style: none;\n  /* For Internet Explorer and Edge */\n}\n.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {\n  display: none;\n}\n.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {\n  scroll-snap-align: start start;\n}\n.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {\n  scroll-snap-type: x mandatory;\n}\n.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {\n  scroll-snap-type: y mandatory;\n}\n:root {\n  --swiper-navigation-size: 44px;\n  /*\n  --swiper-navigation-color: var(--swiper-theme-color);\n  */\n}\n.swiper-button-prev,\n.swiper-button-next {\n  position: absolute;\n  top: 50%;\n  width: calc(var(--swiper-navigation-size) / 44 * 27);\n  height: var(--swiper-navigation-size);\n  margin-top: calc(-1 * var(--swiper-navigation-size) / 2);\n  z-index: 10;\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: var(--swiper-navigation-color, var(--swiper-theme-color));\n}\n.swiper-button-prev.swiper-button-disabled,\n.swiper-button-next.swiper-button-disabled {\n  opacity: 0.35;\n  cursor: auto;\n  pointer-events: none;\n}\n.swiper-button-prev:after,\n.swiper-button-next:after {\n  font-family: swiper-icons;\n  font-size: var(--swiper-navigation-size);\n  text-transform: none !important;\n  letter-spacing: 0;\n  text-transform: none;\n  font-variant: initial;\n  line-height: 1;\n}\n.swiper-button-prev,\n.swiper-container-rtl .swiper-button-next {\n  left: 10px;\n  right: auto;\n}\n.swiper-button-prev:after,\n.swiper-container-rtl .swiper-button-next:after {\n  content: 'prev';\n}\n.swiper-button-next,\n.swiper-container-rtl .swiper-button-prev {\n  right: 10px;\n  left: auto;\n}\n.swiper-button-next:after,\n.swiper-container-rtl .swiper-button-prev:after {\n  content: 'next';\n}\n.swiper-button-prev.swiper-button-white,\n.swiper-button-next.swiper-button-white {\n  --swiper-navigation-color: #ffffff;\n}\n.swiper-button-prev.swiper-button-black,\n.swiper-button-next.swiper-button-black {\n  --swiper-navigation-color: #000000;\n}\n.swiper-button-lock {\n  display: none;\n}\n:root {\n  /*\n  --swiper-pagination-color: var(--swiper-theme-color);\n  */\n}\n.swiper-pagination {\n  position: absolute;\n  text-align: center;\n  transition: 300ms opacity;\n  transform: translate3d(0, 0, 0);\n  z-index: 10;\n}\n.swiper-pagination.swiper-pagination-hidden {\n  opacity: 0;\n}\n/* Common Styles */\n.swiper-pagination-fraction,\n.swiper-pagination-custom,\n.swiper-container-horizontal > .swiper-pagination-bullets {\n  bottom: 10px;\n  left: 0;\n  width: 100%;\n}\n/* Bullets */\n.swiper-pagination-bullets-dynamic {\n  overflow: hidden;\n  font-size: 0;\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n  transform: scale(0.33);\n  position: relative;\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {\n  transform: scale(1);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {\n  transform: scale(1);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {\n  transform: scale(0.66);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {\n  transform: scale(0.33);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {\n  transform: scale(0.66);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {\n  transform: scale(0.33);\n}\n.swiper-pagination-bullet {\n  width: 8px;\n  height: 8px;\n  display: inline-block;\n  border-radius: 100%;\n  background: #000;\n  opacity: 0.2;\n}\nbutton.swiper-pagination-bullet {\n  border: none;\n  margin: 0;\n  padding: 0;\n  box-shadow: none;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n}\n.swiper-pagination-clickable .swiper-pagination-bullet {\n  cursor: pointer;\n}\n.swiper-pagination-bullet-active {\n  opacity: 1;\n  background: var(--swiper-pagination-color, var(--swiper-theme-color));\n}\n.swiper-container-vertical > .swiper-pagination-bullets {\n  right: 10px;\n  top: 50%;\n  transform: translate3d(0px, -50%, 0);\n}\n.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {\n  margin: 6px 0;\n  display: block;\n}\n.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {\n  top: 50%;\n  transform: translateY(-50%);\n  width: 8px;\n}\n.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n  display: inline-block;\n  transition: 200ms transform, 200ms top;\n}\n.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {\n  margin: 0 4px;\n}\n.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {\n  left: 50%;\n  transform: translateX(-50%);\n  white-space: nowrap;\n}\n.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n  transition: 200ms transform, 200ms left;\n}\n.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n  transition: 200ms transform, 200ms right;\n}\n/* Progress */\n.swiper-pagination-progressbar {\n  background: rgba(0, 0, 0, 0.25);\n  position: absolute;\n}\n.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {\n  background: var(--swiper-pagination-color, var(--swiper-theme-color));\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  transform: scale(0);\n  transform-origin: left top;\n}\n.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {\n  transform-origin: right top;\n}\n.swiper-container-horizontal > .swiper-pagination-progressbar,\n.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {\n  width: 100%;\n  height: 4px;\n  left: 0;\n  top: 0;\n}\n.swiper-container-vertical > .swiper-pagination-progressbar,\n.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {\n  width: 4px;\n  height: 100%;\n  left: 0;\n  top: 0;\n}\n.swiper-pagination-white {\n  --swiper-pagination-color: #ffffff;\n}\n.swiper-pagination-black {\n  --swiper-pagination-color: #000000;\n}\n.swiper-pagination-lock {\n  display: none;\n}\n/* Scrollbar */\n.swiper-scrollbar {\n  border-radius: 10px;\n  position: relative;\n  -ms-touch-action: none;\n  background: rgba(0, 0, 0, 0.1);\n}\n.swiper-container-horizontal > .swiper-scrollbar {\n  position: absolute;\n  left: 1%;\n  bottom: 3px;\n  z-index: 50;\n  height: 5px;\n  width: 98%;\n}\n.swiper-container-vertical > .swiper-scrollbar {\n  position: absolute;\n  right: 3px;\n  top: 1%;\n  z-index: 50;\n  width: 5px;\n  height: 98%;\n}\n.swiper-scrollbar-drag {\n  height: 100%;\n  width: 100%;\n  position: relative;\n  background: rgba(0, 0, 0, 0.5);\n  border-radius: 10px;\n  left: 0;\n  top: 0;\n}\n.swiper-scrollbar-cursor-drag {\n  cursor: move;\n}\n.swiper-scrollbar-lock {\n  display: none;\n}\n.swiper-zoom-container {\n  width: 100%;\n  height: 100%;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  text-align: center;\n}\n.swiper-zoom-container > img,\n.swiper-zoom-container > svg,\n.swiper-zoom-container > canvas {\n  max-width: 100%;\n  max-height: 100%;\n  object-fit: contain;\n}\n.swiper-slide-zoomed {\n  cursor: move;\n}\n/* Preloader */\n:root {\n  /*\n  --swiper-preloader-color: var(--swiper-theme-color);\n  */\n}\n.swiper-lazy-preloader {\n  width: 42px;\n  height: 42px;\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  margin-left: -21px;\n  margin-top: -21px;\n  z-index: 10;\n  transform-origin: 50%;\n  animation: swiper-preloader-spin 1s infinite linear;\n  box-sizing: border-box;\n  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));\n  border-radius: 50%;\n  border-top-color: transparent;\n}\n.swiper-lazy-preloader-white {\n  --swiper-preloader-color: #fff;\n}\n.swiper-lazy-preloader-black {\n  --swiper-preloader-color: #000;\n}\n@keyframes swiper-preloader-spin {\n  100% {\n    transform: rotate(360deg);\n  }\n}\n/* a11y */\n.swiper-container .swiper-notification {\n  position: absolute;\n  left: 0;\n  top: 0;\n  pointer-events: none;\n  opacity: 0;\n  z-index: -1000;\n}\n.swiper-container-fade.swiper-container-free-mode .swiper-slide {\n  transition-timing-function: ease-out;\n}\n.swiper-container-fade .swiper-slide {\n  pointer-events: none;\n  transition-property: opacity;\n}\n.swiper-container-fade .swiper-slide .swiper-slide {\n  pointer-events: none;\n}\n.swiper-container-fade .swiper-slide-active,\n.swiper-container-fade .swiper-slide-active .swiper-slide-active {\n  pointer-events: auto;\n}\n.swiper-container-cube {\n  overflow: visible;\n}\n.swiper-container-cube .swiper-slide {\n  pointer-events: none;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  z-index: 1;\n  visibility: hidden;\n  transform-origin: 0 0;\n  width: 100%;\n  height: 100%;\n}\n.swiper-container-cube .swiper-slide .swiper-slide {\n  pointer-events: none;\n}\n.swiper-container-cube.swiper-container-rtl .swiper-slide {\n  transform-origin: 100% 0;\n}\n.swiper-container-cube .swiper-slide-active,\n.swiper-container-cube .swiper-slide-active .swiper-slide-active {\n  pointer-events: auto;\n}\n.swiper-container-cube .swiper-slide-active,\n.swiper-container-cube .swiper-slide-next,\n.swiper-container-cube .swiper-slide-prev,\n.swiper-container-cube .swiper-slide-next + .swiper-slide {\n  pointer-events: auto;\n  visibility: visible;\n}\n.swiper-container-cube .swiper-slide-shadow-top,\n.swiper-container-cube .swiper-slide-shadow-bottom,\n.swiper-container-cube .swiper-slide-shadow-left,\n.swiper-container-cube .swiper-slide-shadow-right {\n  z-index: 0;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n}\n.swiper-container-cube .swiper-cube-shadow {\n  position: absolute;\n  left: 0;\n  bottom: 0px;\n  width: 100%;\n  height: 100%;\n  background: #000;\n  opacity: 0.6;\n  -webkit-filter: blur(50px);\n  filter: blur(50px);\n  z-index: 0;\n}\n.swiper-container-flip {\n  overflow: visible;\n}\n.swiper-container-flip .swiper-slide {\n  pointer-events: none;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  z-index: 1;\n}\n.swiper-container-flip .swiper-slide .swiper-slide {\n  pointer-events: none;\n}\n.swiper-container-flip .swiper-slide-active,\n.swiper-container-flip .swiper-slide-active .swiper-slide-active {\n  pointer-events: auto;\n}\n.swiper-container-flip .swiper-slide-shadow-top,\n.swiper-container-flip .swiper-slide-shadow-bottom,\n.swiper-container-flip .swiper-slide-shadow-left,\n.swiper-container-flip .swiper-slide-shadow-right {\n  z-index: 0;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n}\n","\n@import '@craftcms/sass/mixins';\n\n.c-btn,\na.c-btn,\nbutton.c-btn {\n  &:focus {\n    @apply tw-outline-none tw-ring;\n  }\n\n  &.block {\n    @apply tw-w-full;\n  }\n\n  &.small {\n    @apply tw-px-3 tw-leading-4;\n\n    .c-icon {\n      width: 12px;\n      height: 12px;\n    }\n  }\n\n  &.large {\n    @apply tw-text-base tw-leading-6;\n  }\n\n  &.outline {\n    .c-icon {\n      @apply tw-fill-current;\n    }\n  }\n\n  &.loading {\n    @apply tw-relative;\n\n    .c-spinner {\n      @apply tw-absolute tw-inset-0 tw-flex tw-justify-center tw-items-center;\n    }\n\n    .c-btn-content {\n      @apply tw-invisible;\n    }\n  }\n\n  .c-icon {\n    @apply tw-align-middle;\n  }\n\n  &:not(.c-btn-icon) {\n    .c-icon {\n      @include margin-right(1rem);\n    }\n  }\n\n  .c-btn-content {\n    @apply tw-flex tw-items-center tw-justify-center;\n  }\n}\n","\n@import '@craftcms/sass/mixins';\n\n.c-dropdown {\n  display: inline-block;\n  position: relative;\n\n  &.disabled {\n    @apply tw-opacity-50;\n  }\n\n  select {\n    @apply tw-border-gray-200;\n\n    /*\n  TODO\n\n  @include ltr() {\n      background-position: right 0.5rem center;\n  }\n\n  @include rtl() {\n      background-position: left 0.5rem center;\n  }\n  */\n  }\n}\n","\n.c-spinner {\n  & > .animation {\n    animation: rotator 0.7s linear infinite;\n    width: 20px;\n    height: 20px;\n    border-radius: 50%;\n    border-width: 2px;\n    border-style: solid;\n    border-top-color: transparent !important;\n    border-left-color: transparent !important;\n  }\n\n  &.sm {\n    & > .animation {\n      width: 16px;\n      height: 16px;\n    }\n  }\n\n  &.lg {\n    & > .animation {\n      width: 32px;\n      height: 32px;\n      border-width: 3px;\n    }\n  }\n}\n\n@keyframes rotator {\n  0% {\n    transform: rotate(0);\n  }\n\n  to {\n    transform: rotate(1turn);\n  }\n}\n","\n.c-lightswitch {\n  .c-lightswitch-input {\n    label {\n      @apply tw-relative tw-block tw-select-none;\n      width: 34px;\n      height: 22px;\n\n      input {\n        @apply tw-absolute tw-opacity-0;\n      }\n\n      .slider {\n        @apply tw-absolute tw-inset-0 tw-cursor-pointer tw-bg-gray-400;\n        -webkit-transition: 0.4s;\n        transition: 0.4s;\n      }\n\n      .slider:before {\n        @apply tw-absolute tw-bg-white;\n        content: '';\n        height: 20px;\n        width: 20px;\n        left: 1px;\n        bottom: 1px;\n        -webkit-transition: 0.1s;\n        transition: 0.1s;\n\n        -webkit-transform: translateX(0px);\n        -ms-transform: translateX(0px);\n        transform: translateX(0px);\n      }\n\n      input:checked + .slider {\n        background-color: #38c172;\n      }\n\n      input:focus + .slider {\n        @apply tw-ring-2 tw-ring-blue-500 tw-ring-opacity-100;\n      }\n\n      input:checked + .slider:before {\n        -webkit-transform: translateX(12px);\n        -ms-transform: translateX(12px);\n        transform: translateX(12px);\n      }\n\n      .slider.round {\n        border-radius: 34px;\n      }\n\n      .slider.round:before {\n        border-radius: 50%;\n      }\n\n      &.disabled {\n        opacity: 0.4;\n\n        .slider {\n          @apply tw-cursor-default;\n        }\n      }\n    }\n  }\n}\n"],"names":[],"sourceRoot":""}