{"version":3,"sources":["../scss/03_molecules/indicators/_rating.scss","00_helpers/variables/_rating.scss","00_helpers/mixins/_font-style.scss","00_helpers/variables/_fonts.scss","00_helpers/variables/_spacing.scss","00_helpers/variables/_colors.scss","00_helpers/variables/_transitions.scss","00_helpers/variables/_icons.scss","00_tools/_background-variants.scss","00_helpers/mixins/indicators/_rating.scss","../scss/00_tools/cssVartoSass.scss","00_helpers/mixins/_media-queries.scss","00_helpers/mixins/_svg-base64.scss"],"names":[],"mappings":"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","file":"rating.css","sourcesContent":[".rating-dynamic {\n  display: block;\n  height: $baseline * 6.5;\n  max-width: $rating-dynamic-width;\n\n  .rating-dynamic__header {\n    @include font-style('body--m');\n    display: block;\n    margin-bottom: $spacing--xs;\n    margin-left: 20px;\n    max-width: $rating-dynamic-width;\n  }\n}\n\n.ratings {\n  &:focus-within {\n    outline:  5px solid $color-brand--two;\n  }\n\n  float: left;\n  position: relative;\n\n  .no--visually {\n    clip: rect(0 0 0 0);\n    clip-path: inset(50%);\n    position: absolute;\n  }\n\n  svg {\n    padding: 2px;\n  }\n  \n  &__input {\n    &:checked + .icon svg { \n      animation: grow $transition-duration--slow;\n    }\n    &:focus + .icon svg {\n      animation: grow $transition-duration--slow;\n    }\n  }\n\n  &__description {\n    @include font-style($ratings-description-font-style);\n    opacity: 0;\n    left: 0;\n    margin-top: $spacing--xxs;\n    pointer-events: none;\n    position: absolute;\n    top: $spacing--m;\n    white-space: nowrap;\n  }\n\n  & .icon {\n    float: left;\n    line-height: $spacing--m;\n    height: $spacing--m;\n    padding-left: 15px;\n    width: $icon-size--l;\n\n    &:first-of-type {\n        padding-left: 0;\n    }\n\n    &:hover + .ratings__description {\n      opacity: 1; \n      transition: ease-in-out $transition-duration--fast;\n    }\n  }\n\n  &__input:checked + .icon + .ratings__description,\n  .icon:hover + .ratings__description {\n    opacity: 1;\n    transition: ease-in-out $transition-duration--fast;\n  }\n\n  // // this effect was blocking the normal hover hinting\n  // svg,\n  // &:hover .ratings__input:checked ~ .icon svg {\n  //   fill: $color--grey;\n  //   transition: ease-in-out $transition-duration--fast;\n  // }\n\n\n  &:hover .ratings__input:checked ~ .icon:hover svg,\n  &:hover .icon:hover svg,\n  &:hover .icon:hover ~ .icon svg {\n    cursor: pointer;\n    transition: ease-in-out $transition-duration--fast;\n  }\n\n  &:hover .ratings__input:checked + .icon + .ratings__description {\n    visibility: hidden;\n    opacity: 0;\n    transition-duration: $transition-duration--faster;\n  }\n\n  &:hover .ratings__input:checked + .icon:hover + .ratings__description {\n    visibility: visible;\n    opacity: 1;\n    transition-duration: $transition-duration--faster;\n  }\n\n  label span {\n    pointer-events: none;\n  }\n}\n\n// background mappings\n@include indicators-rating-dynamic-background-mapping;\n\n@include viewport--s {\n  .ratings__description {\n    left: 100%;\n    margin-left: $spacing--s;\n    margin-top: 0;\n    top: 0;\n  }\n}\n\n@keyframes grow {\n  0% {\n    transform: scale(1);\n  }\n  33% {\n    transform: scale(1.1);\n  }\n  66% {\n    transform: scale(0.9);\n  }\n  100% {\n    transform: scale(1);\n  }\n}\n\n/** READONLY **/\n.rating__wrapper {\n  display: flex;\n}\n\n.rating-readonly {\n  display: flex;\n  flex-direction: column-reverse;\n  flex-wrap: wrap-reverse;\n  height: $spacing--s;\n  justify-content: flex-end;\n  max-width: $rating-readonly-width;\n  z-index: 0;\n\n  &.rating--l {\n    min-width: $rating-readonly-width;\n  }\n\n  &.rating--m {\n    .rating-readonly__icon--wrapper,\n    .icon--filled:before {\n      width: $rating-readonly-m-width;\n    }\n  }\n\n  &.rating--s {\n    .rating-readonly__icon--wrapper,\n    .icon--filled:before {\n      width: $rating-readonly-s-width;\n    }\n  }\n}\n\n.rating-readonly__icon--wrapper {\n  height: $spacing--s;\n  margin-right: $spacing--s;\n  width: $rating-readonly-icon-width;\n}\n\n.rating-readonly__description {\n  @include font-style('body--l');\n  line-height: $spacing--s;\n  margin-top: $spacing--xxs;\n}\n\n.icon--filled {\n  @include svg-base64('star-filled', $color-brand--one);\n  background-size: 30px 20px;\n  height: $spacing--s;\n  position: relative;\n}\n\n.icon--filled:before {\n  @include svg-base64('star-filled', $color--grey);\n  background-size: 30px 20px;\n  bottom: 0;\n  content: '';\n  left: 0;\n  opacity: 1;\n  position: absolute;\n  top: 0;\n  width: $rating-readonly-icon-width;\n  z-index: -1;\n}\n\n@media only screen and (min-width: 310px) {\n  .rating-readonly {\n    flex-direction: row-reverse;\n  }\n\n  .rating-readonly__description {\n    margin-top: 0;\n  }\n}\n\n// background mappings\n@include indicators-rating-readonly-background-mapping;\n\n\n","// dynamic\n$ratings-description-font-style: 'title--xs';\n$rating-dynamic-width: 375px;\n\n// read only\n$rating-readonly-width: 295px; //five stars\n$rating-readonly-m-width: 120px; //four stars\n$rating-readonly-s-width: 90px; // three stars\n\n$rating-readonly-icon-width: 150px;\n","// @font-style($font-style-small, $font-style-large)\n\n// $font-style-small - Desired type size for small/medium viewport.\n// $font-style-large - Desired type size for large viewport. This includes default fallback\n//                     for the S/M viewport.\n\n//\n// | viewport S       | viewport M       | viewport L      | default mapping |\n// |------------------|------------------|-----------------|-----------------|\n// | title l    | 40  | title l    | 40  | title xxl  | 80 | default         |\n// | title m    | 32  | title m    | 32  | title xl   | 60 | default         |\n// | title s    | 26  | title s    | 26  | title l    | 40 |                 |\n// | title s    | 26  | title s    | 26  | title m    | 32 | default         |\n// | title xs   | 20  | title xs   | 20  | title s    | 26 |                 |\n// | title xs   | 20  | title xs   | 20  | title xs   | 20 | default         |\n// | title xxs  | 18  | title xxs  | 18  | title xxs  | 18 |                 |\n// |            |     |            |     |            |    |                 |\n// | body l     | 18  | body l     | 18  | body l     | 18 |                 |\n// | body m     | 16  | body m     | 16  | body m     | 16 |                 |\n// | body s     | 12  | body s     | 12  | body s     | 12 |                 |\n\n// import variables needed for the mixins\n@import '../variables/__variables.scss';\n\n// mixin to get applicable properties for chosen type size\n@mixin typeset($type) {\n  $type: map-get($types, $type);\n\n  font-size: (map-get($type, font-size));\n  letter-spacing: (map-get($type, letter-spacing));\n  line-height: (map-get($type, line-height));\n}\n\n// get correct font characteristics based on font\n@mixin type-size($size) {\n  $size: map-get($type-sizes, $size);\n  @include typeset($size);\n}\n\n// mixin to get font-size\n@mixin font-style($font-style-small: 'body--l', $font-style-large: null) {\n  // if both arguments are added\n  @if ($font-style-large != null) {\n    // make sure $font-style-small & $font-style-large are not equal\n    @if ($font-style-small != $font-style-large) {\n      @include type-size($font-style-small);\n\n      @include viewport--l {\n        @include type-size($font-style-large);\n      }\n    } @else {\n      @include type-size($font-style-small);\n    }\n  } @else {\n    @include type-size($font-style-small);\n    // default font style mappings\n    @if ($font-style-small == 'title--l') {\n      @include viewport--l {\n        @include type-size('title--xxl');\n      }\n    } @else if ($font-style-small == 'title--m') {\n      @include viewport--l {\n        @include type-size('title--xl');\n      }\n    } @else if ($font-style-small == 'title--s') {\n      @include viewport--l {\n        @include type-size('title--m');\n      }\n    }\n  }\n}\n","// | viewport S       | viewport M       | viewport L      | default mapping |\n// |------------------|------------------|-----------------|-----------------|\n// | title l    | 40  | title l    | 40  | title xxl  | 80 | default         |\n// | title m    | 32  | title m    | 32  | title xl   | 60 | default         |\n// | title s    | 26  | title s    | 26  | title l    | 40 |                 |\n// | title s    | 26  | title s    | 26  | title m    | 32 | default         |\n// | title xs   | 20  | title xs   | 20  | title s    | 26 |                 |\n// | title xs   | 20  | title xs   | 20  | title xs   | 20 | default         |\n// | title xxs  | 18  | title xxs  | 18  | title xxs  | 18 |                 |\n// |            |     |            |     |            |    |                 |\n// | body l     | 18  | body l     | 18  | body l     | 18 |                 |\n// | body m     | 16  | body m     | 16  | body m     | 16 |                 |\n// | body s     | 14  | body s     | 14  | body s     | 14 |                 |\n// | body xs    | 12  | body xs    | 12  | body xs    | 12 |                 |\n\n// font family\n$font-family-theme: Graphik, Tahoma, 'sans-serif';\n\n// font mappings - font-size / line-height / letter-spacing\n$types: (\n  12: (\n    font-size: 12px,\n    line-height: 15px,\n    letter-spacing: 0\n  ),\n  14: (\n    font-size: 14px,\n    line-height: 25px,\n    letter-spacing: 0\n  ),\n  16: (\n    font-size: 16px,\n    line-height: 25px,\n    letter-spacing: 0\n  ),\n  18: (\n    font-size: 18px,\n    line-height: 30px,\n    letter-spacing: 0\n  ),\n  20: (\n    font-size: 20px,\n    line-height: 30px,\n    letter-spacing: 0\n  ),\n  26: (\n    font-size: 26px,\n    line-height: 30px,\n    letter-spacing: -1px\n  ),\n  32: (\n    font-size: 32px,\n    line-height: 40px,\n    letter-spacing: -1px\n  ),\n  40: (\n    font-size: 40px,\n    line-height: 45px,\n    letter-spacing: -2px\n  ),\n  60: (\n    font-size: 60px,\n    line-height: 60px,\n    letter-spacing: -3px\n  ),\n  80: (\n    font-size: 80px,\n    line-height: 80px,\n    letter-spacing: -4px\n  )\n);\n\n// type-sizes - links the type-size to correct font mapping\n$type-sizes: (\n  title--xxl: 80,\n  title--xl: 60,\n  title--l: 40,\n  title--m: 32,\n  title--s: 26,\n  title--xs: 20,\n  title--xxs: 18,\n  body--l: 18,\n  body--m: 16,\n  body--s: 14,\n  body--xs: 12\n);\n","// | variable      | size  | calculation     |\n// |---------------|-------|-----------------|\n// | $spacing--xxs |  5px  | $baseline * 0.5 |\n// | $spacing--xs  | 10px  | $baseline * 1   |\n// | $spacing--s   | 20px  | $baseline * 2   |\n// | $spacing--m   | 30px  | $baseline * 3   |\n// | $spacing--l   | 50px  | $baseline * 5   |\n// | $spacing--xl  | 80px  | $baseline * 8   |\n// | $spacing--xxl | 130px | $baseline * 13  |\n\n$spacing--xxs: $baseline * 0.5;\n$spacing--xs: $baseline * 1;\n$spacing--s: $baseline * 2;\n$spacing--m: $baseline * 3;\n$spacing--l: $baseline * 5;\n$spacing--xl: $baseline * 8;\n$spacing--xxl: $baseline * 13;\n\n// grid spacings\n$grid-margin--s: 25px;\n$grid-margin--m: 50px;\n$grid-margin--l: 100px;\n","$color-brand--one: #2175d9;\n$color-brand--two: #0f1941;\n$color-brand--three: #6ba5b4;\n$color-brand--four: #f7f5f0;\n$color-brand--five: #e74536;\n$color-brand--six: #ffb511;\n$color-brand--white: #fff;\n\n// user interface colors\n//\n// additional colors, such as surface, background and error colors, typically don't\n// represent the brand but can be applied sparingly to accent select parts of your UI.\n//\n\n$color--one-7: #ecf3fc;\n$color--one-80: #4d91e1;\n$color--one-130: #175197;\n\n$color--two-50: #878ca0;\n$color--two-60: #6c738d;\n$color--two-80: #3c4464;\n$color--two-180: #03050d;\n\n$color--grey: #d7d7d7;\n$color--grey-10: #f7f7f7;\n\n$color--white: #fff;\n\n$color--four-80: #f9f7f3;\n$color--four-110: #dedcd8;\n\n$color--negative: #e00f0f;\n$color--negative-5: #fdf3f3;\n\n$color--positive: #257f56;\n$color--positive-5: #f4f8f6;\n\n$color--warning: #e9a204;\n$color--warning-10: #fcf5e5;\n\n// user interface opacities\n//\n// opacity colors are only used on modal backgrounds. HEX colors would not be\n// used due to the colors' alpha layers.\n//\n\n$color-alpha--one-10: rgba(33, 117, 217, 0.1);\n$color-alpha--one-30: rgba(33, 117, 217, 0.3);\n\n$color-alpha--two-10: rgba(15, 25, 65, 0.1);\n$color-alpha--two-30: rgba(15, 25, 65, 0.3);\n$color-alpha--two-70: rgba(15, 25, 65, 0.7);\n$color-alpha--two-80: rgba(15, 25, 65, 0.8);\n\n// ! This needs to be changed to the new white colors in story (DF909-751)\n$color-alpha--four-30: rgba(247, 245, 240, 0.3);\n$color-alpha--four-50: rgba(247, 245, 240, 0.5);\n\n// set color values\n$color--disabled: $color--two-60;\n$color--text: $color-brand--two;\n$color--one-light: $color--one-7;\n\n// degree brand colors\n// used in the charts as extra color scheme\n\n$color-brand--one-65: #7aace8;\n$color-brand--one-45: #a6c8f0;\n$color-brand--one-25: #bbd4f1;\n$color-brand--two-65: #636983;\n$color-brand--two-45: #999aa8;\n$color-brand--two-25: #8a8caf;\n$color-brand--three-65: #020202;\n$color-brand--three-45: #c4dbe1;\n$color-brand--five-65: #f18f86;\n$color-brand--five-45: #f5b5af;\n$color-brand--five-25: #f7beb9;\n$color-brand--six-65: #ffd370;\n$color-brand--six-45: #ffe1a0;\n$color-brand--six-25: #fce8b5;\n \n\n// notice colors\n$color-notice--warning: #fff2f2;\n","$transition-duration--faster: 0.1s;\n$transition-duration--fast: 0.2s;\n$transition-duration: 0.3s;\n$transition-duration--slow: 0.5s;\n$transition-duration--slower: 0.7s;\n$transition-duration--slowest: 0.9s;\n","// icons\n$icon-size: $baseline * 2;\n$icon-size--xs: $baseline * 0.8;\n$icon-size--s: $baseline * 1.6;\n$icon-size--l: $baseline * 3;\n$icon-size--xl: $baseline * 4;\n$icon-size--xxl: $baseline * 6;\n$icon-size--xxxl: $baseline * 12;\n","@import '../00_settings/background-variants-color-map';\n// Creates the .bg-variant-#{$variant} classes with the right background-color property from the background-variants-color-map\n// Use only once to set up the utilities\n// e.g.\n//\n// @include bg-variant-classes();\n@mixin bg-variant-classes($backgroundmap: $backgrounds) {\n  @each $variant, $value in $backgroundmap {\n    $backgroundColor: map-get($value, 'background');\n    $defaultTextColor: map-get($value, 'bodyPrimary');\n\n    .bg-variant-#{$variant} {\n      background-color: returnColorCSSVar($backgroundColor);\n      color: returnColorCSSVar($defaultTextColor);\n    }\n  }\n}\n\n// Iterates over all backgrounds mapped in background-variants-color-map and outputs whatever is wrapped inside it with a .bg-variant-#{$variant} class selector before it\n// .bg-variant-#{$variant} &\n// Use together with varient-property function\n// Pass the $supportedBackgrounds as a list, if you only want to create classes for certain backgrounds\n// Set the $isChained to true, if you need to have a class that is chained to the parent e.g. .block.bg-variant-brand-primary\n// e.g.\n//\n// .divider {\n//   @include bg-variants(\n//     $supportedBackgrounds: (\n//       'brand-primary',\n//       'brand-senary'\n//     )\n//   ) {\n//     color: variant-property('divider');\n//   }\n// }\n//\n// .divider {\n//   @include bg-variants() {\n//     border-color: variant-property('divider');\n//   }\n// }\n@mixin bg-variants(\n  $backgroundmap: $backgrounds,\n  $supportedBackgrounds: null,\n  $isChained: false\n) {\n  @if ($supportedBackgrounds != null) {\n    @each $variant in $supportedBackgrounds {\n      $className: if(\n        $isChained==true,\n        '.bg-variant-#{$variant}#{&}',\n        '.bg-variant-#{$variant} &'\n      );\n\n      @at-root #{$className} {\n        $variant-map: () !global;\n\n        $supportedMap: if(\n          map-has-key($backgroundmap, $variant),\n          map-get($backgroundmap, $variant),\n          null\n        );\n\n        @each $key, $value in $supportedMap {\n          $variant-map: map-merge(\n            $variant-map,\n            (\n              $key: returnColorCSSVar($value)\n            )\n          ) !global;\n        }\n\n        @content;\n        $variant-map: null !global;\n      }\n    }\n  } @else {\n    @each $variant, $map in $backgroundmap {\n      $className: if(\n        $isChained==true,\n        '.bg-variant-#{$variant}#{&}',\n        '.bg-variant-#{$variant} &'\n      );\n\n      @at-root #{$className} {\n        // Makes a global map that can be accessed by the variant-property function\n        $variant-map: () !global;\n\n        @each $key, $submap in $map {\n          $value: map-get(map-get($backgroundmap, $variant), '#{$key}');\n          $variant-map: map-merge(\n            $variant-map,\n            (\n              $key: returnColorCSSVar($value)\n            )\n          ) !global;\n        }\n\n        @content;\n        $variant-map: null !global;\n      }\n    }\n  }\n}\n\n// function to use inside the wrapped content and access the\n// Use together with bg-varients mixin\n// e.g.\n//\n// .divider {\n//   @include bg-variants() {\n//     border-color: variant-property('divider');\n//   }\n// }\n@function variant-property($key) {\n  $value: map-get($variant-map, $key);\n\n  @if ($value != null) {\n    @return map-get($variant-map, $key);\n  } @else {\n    @return null;\n  }\n}\n","// dynamic\n@mixin indicators-rating-dynamic-background-mapping {\n  .ratings {\n    @include bg-variants(\n      $supportedBackgrounds: (\n        'brand-primary',\n        'brand-tertiary',\n        'white'\n      )\n    ) {\n      svg {\n        fill: currentColor;\n      }\n      label {\n        color: variant-property('iconInteractiveAlternative');\n        cursor: pointer;\n      }\n      input:checked ~ label {\n        color: variant-property('divider');\n      }\n      input:checked + label svg {\n        color: variant-property('iconInteractiveAlternative');\n        // border: 2px solid  variant-property('iconInteractiveAlternative');\n        // border-radius: 3px;\n      }\n      :hover input + label {\n        color: variant-property('iconInteractiveAlternative');\n      }\n      input:hover ~ label, \n      input:focus ~ label {\n        color: variant-property('divider');  \n      }\n      input:hover + label,\n      input:focus + label {\n        color: variant-property('iconInteractiveAlternative');\n      }\n      &:focus-within {\n        outline:  2px solid variant-property('iconInteractiveAlternative');\n      }  \n      border-radius: 3px;\n      padding-right: 20px;\n      padding-bottom: 4px;\n    }\n  }\n\n  // ! Deprecation warning - new color map\n  .bg-brand--blue {\n    .rating-dynamic__header {\n      color: $color-brand--white;\n    }\n\n    .ratings {\n      svg,\n      &:hover .ratings__input:checked ~ .icon svg {\n        fill: $color-alpha--four-50;\n      }\n\n      &__input:checked ~ .icon svg,\n      &:hover .ratings__input:checked ~ .icon:hover svg,\n      &:hover .icon:hover svg,\n      &:hover .icon:hover ~ .icon svg {\n        fill: $color-brand--white;\n      }\n    }\n\n    .ratings__description.text--alternative {\n      color: $color-brand--white;\n    }\n  }\n}\n\n// readonly\n@mixin indicators-rating-readonly-background-mapping {\n  .rating-readonly {\n    @include bg-variants(\n      $supportedBackgrounds: (\n        'brand-primary'\n      )\n    ) {\n      .icon--filled {\n        @include svg-base64('star-filled', $color-brand--white);\n        background-size: 30px 20px;\n      }\n      .icon--filled:before {\n        @include svg-base64('star-filled', $color-brand--white);\n        background-size: 30px 20px;\n        opacity: 0.3;\n      }\n    }\n  }\n\n  .bg-brand--blue {\n    .icon--filled {\n      @include svg-base64('star-filled', $color-brand--white);\n    }\n\n    .icon--filled:before {\n      @include svg-base64('star-filled', $color-brand--white);\n      background-size: 30px 20px;\n      opacity: 0.5;\n    }\n\n    .rating-readonly__description.text--alternative {\n      color: $color-brand--white;\n    }\n  }\n\n  .dashboard-card--middle .icon--filled:before {\n    @include svg-base64('star-filled', $color-brand--one);\n    opacity: 0.3;\n    background-size: 30px 20px;\n  }\n}","// Returns CSS4 color variables\n@function returnColorCSSVar($color-name) {\n  @return var(--color-#{$color-name});\n}\n","// @viewport--x($reversed)\n\n// viewport s\n@mixin viewport--s($type: null) {\n  // inversed\n  @if ($type == 'inversed') {\n    @media (max-width: #{($breakpoint-viewport--s - 1)}) {\n      @content;\n    }\n  }\n  // range\n  @else if ($type== 'range') {\n    @media (min-width:0) and (max-width: #{($breakpoint-viewport--s - 1)}) {\n      @content;\n    }\n  }\n  // default\n  @else {\n    @media (min-width: #{$breakpoint-viewport--s}) {\n      @content;\n    }\n  }\n}\n\n// viewport m\n@mixin viewport--m($type: null) {\n  // inversed\n  @if ($type == 'inversed') {\n    @media (max-width: #{($breakpoint-viewport--m - 1)}) {\n      @content;\n    }\n  }\n  // range\n  @else if ($type== 'range') {\n    @media (min-width: $breakpoint-viewport--m) and (max-width: #{($breakpoint-viewport--l - 1)}) {\n      @content;\n    }\n  }\n  // default\n  @else {\n    @media (min-width: #{$breakpoint-viewport--m}) {\n      @content;\n    }\n  }\n}\n\n// viewport l\n@mixin viewport--l($type: null) {\n  // inversed\n  @if ($type == 'inversed') {\n    @media (max-width: #{($breakpoint-viewport--l - 1)}) {\n      @content;\n    }\n  }\n  // range\n  @else if ($type== 'range') {\n    @media (min-width: $breakpoint-viewport--l) and (max-width: #{($breakpoint-viewport--xl - 1)}) {\n      @content;\n    }\n  }\n  // default\n  @else {\n    @media (min-width: #{$breakpoint-viewport--l}) {\n      @content;\n    }\n  }\n}\n\n// viewport xl\n@mixin viewport--xl($type: null) {\n  @if ($type == 'inversed') {\n    @media (max-width: #{($breakpoint-viewport--xl - 1)}) {\n      @content;\n    }\n  }\n  // range\n  @else if ($type== 'range') {\n    @media (min-width: $breakpoint-viewport--xl) and (max-width: #{($breakpoint-viewport--xxl - 1)}) {\n      @content;\n    }\n  }\n  // default\n  @else {\n    @media (min-width: #{$breakpoint-viewport--xl}) {\n      @content;\n    }\n  }\n}\n\n// viewport xxl\n@mixin viewport--xxl($type: null) {\n  // inversed\n  @if ($type == 'inversed') {\n    @media (max-width: #{($breakpoint-viewport--xxl - 1)}) {\n      @content;\n    }\n  }\n  // default\n  @else {\n    @media (min-width: #{$breakpoint-viewport--xxl}) {\n      @content;\n    }\n  }\n}\n\n// viewport range\n@mixin viewport--range($viewport1, $viewport2) {\n  @media (min-width: #{($viewport1)}) and (max-width: #{($viewport2 - 1)}) {\n    @content;\n  }\n}\n\n// Internet Explorer 10 + 11\n@mixin internet-explorer-10-11 {\n  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {\n    @content;\n  }\n}\n","// @svg-base64($icon, $color)\n\n@mixin svg-base64($icon, $color) {\n  // remove the hexadecimal character from string\n  $color-clean: str-replace('#{$color}', '#', '');\n\n  @if ($icon == 'add') {\n    content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' width='20' height='20' fill='%23#{$color-clean}'%3E%3Cpath d='M18 9h-7V2a1 1 0 1 0-2 0v7H2a1 1 0 1 0 0 2h7v7a1 1 0 1 0 2 0v-7h7a1 1 0 1 0 0-2'/%3E%3C/svg%3E%0A\");\n  }\n\n  @if ($icon == 'check') {\n    content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' width='20' height='20' fill='%23#{$color-clean}'%3E%3Cpath d='M7.6472,15.999 C7.3972,15.999 7.1462,15.905 6.9532,15.719 L1.3052,10.265 C0.9082,9.881 0.8972,9.247 1.2802,8.851 C1.6652,8.454 2.2982,8.441 2.6942,8.825 L7.6472,13.608 L17.3052,4.279 C17.7022,3.898 18.3362,3.907 18.7192,4.305 C19.1022,4.701 19.0912,5.335 18.6942,5.719 L8.3412,15.719 C8.1482,15.905 7.8972,15.999 7.6472,15.999'/%3E%3C/svg%3E%0A\");\n  }\n\n  @if ($icon == 'chevron-right-8') {\n    content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' width='8' height='8' fill='%23#{$color-clean}'%3E%3Cpath d='M2.50025,0 C2.75625,0 3.01225,0.098 3.20725,0.293 L6.20725,3.293 C6.59825,3.684 6.59825,4.316 6.20725,4.707 L3.20725,7.707 C2.81625,8.098 2.18425,8.098 1.79325,7.707 C1.40225,7.316 1.40225,6.684 1.79325,6.293 L4.08625,4 L1.79325,1.707 C1.40225,1.316 1.40225,0.684 1.79325,0.293 C1.98825,0.098 2.24425,0 2.50025,0'/%3E%3C/svg%3E%0A\");\n  }\n\n  @if ($icon == 'chevron-left-8') {\n    content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' width='8' height='8' fill='%23#{$color-clean}'%3E%3Cpath d='M5.5,8 C5.244,8 4.988,7.902 4.793,7.707 L1.793,4.707 C1.402,4.316 1.402,3.684 1.793,3.293 L4.793,0.293 C5.184,-0.098 5.816,-0.098 6.207,0.293 C6.598,0.684 6.598,1.316 6.207,1.707 L3.914,4 L6.207,6.293 C6.598,6.684 6.598,7.316 6.207,7.707 C6.012,7.902 5.756,8 5.5,8'/%3E%3C/svg%3E%0A\");\n  }\n\n  @if ($icon == 'arrow-right-30') {\n    content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' width='30' height='30' fill='%23#{$color-clean}'%3E%3Cpath d='M3,15.8965 L24.605,15.8965 L17.29,23.2975 C16.901,23.6905 16.905,24.3235 17.298,24.7125 C17.691,25.1005 18.324,25.0965 18.712,24.7045 L27.711,15.5995 C28.1,15.2065 28.096,14.5735 27.703,14.1855 L18.704,5.2895 C18.509,5.0965 18.255,5.0005 18.001,5.0005 C17.743,5.0005 17.485,5.0995 17.29,5.2965 C16.901,5.6895 16.905,6.3225 17.298,6.7105 L24.566,13.8965 L3,13.8965 C2.447,13.8965 2,14.3445 2,14.8965 C2,15.4485 2.447,15.8965 3,15.8965'/%3E%3C/svg%3E%0A\");\n  }\n\n  @if ($icon == 'minus') {\n    content: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' width='20' height='20' fill='%23#{$color-clean}'%3E%3Cpath d='M18 11H2a1 1 0 1 1 0-2h16a1 1 0 1 1 0 2'/%3E%3C/svg%3E%0A\");\n  }\n\n  @if ($icon == 'star-filled') {\n    background: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' width='20' height='20' fill='%23#{$color-clean}'%3E%3Cpath d='M29.951 10.817a1.002 1.002 0 00-.808-.68l-9.153-1.33L15.896.511c-.336-.683-1.457-.683-1.793 0L10.01 8.806l-9.154 1.33a1 1 0 00-.554 1.706L6.926 18.3l-1.564 9.117a1 1 0 001.451 1.054L15 24.167l8.186 4.304a1.006 1.006 0 001.054-.076 1 1 0 00.398-.978L23.074 18.3l6.624-6.458a1 1 0 00.253-1.025'/%3E%3C/svg%3E%0A\");\n  }\n}\n\n@mixin svgMask($icon) {\n  mask-repeat: no-repeat;\n\n  @if ($icon == 'check') {\n    mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' width='20' height='20' %3E%3Cpath d='M7.6472,15.999 C7.3972,15.999 7.1462,15.905 6.9532,15.719 L1.3052,10.265 C0.9082,9.881 0.8972,9.247 1.2802,8.851 C1.6652,8.454 2.2982,8.441 2.6942,8.825 L7.6472,13.608 L17.3052,4.279 C17.7022,3.898 18.3362,3.907 18.7192,4.305 C19.1022,4.701 19.0912,5.335 18.6942,5.719 L8.3412,15.719 C8.1482,15.905 7.8972,15.999 7.6472,15.999'/%3E%3C/svg%3E%0A\");\n  }\n\n  @if ($icon == 'star-filled') {\n    mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' width='20' height='20' %3E%3Cpath d='M29.951 10.817a1.002 1.002 0 00-.808-.68l-9.153-1.33L15.896.511c-.336-.683-1.457-.683-1.793 0L10.01 8.806l-9.154 1.33a1 1 0 00-.554 1.706L6.926 18.3l-1.564 9.117a1 1 0 001.451 1.054L15 24.167l8.186 4.304a1.006 1.006 0 001.054-.076 1 1 0 00.398-.978L23.074 18.3l6.624-6.458a1 1 0 00.253-1.025'/%3E%3C/svg%3E%0A\");\n  }\n\n  @if ($icon == 'chevron-left-8') {\n    mask-image: url(\"data:image/svg+xml,%3Csvg id='chevron-left-8' viewBox='0 0 8 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.5,8 C5.244,8 4.988,7.902 4.793,7.707 L1.793,4.707 C1.402,4.316 1.402,3.684 1.793,3.293 L4.793,0.293 C5.184,-0.098 5.816,-0.098 6.207,0.293 C6.598,0.684 6.598,1.316 6.207,1.707 L3.914,4 L6.207,6.293 C6.598,6.684 6.598,7.316 6.207,7.707 C6.012,7.902 5.756,8 5.5,8'/%3E%3C/svg%3E%0A\");\n  }\n\n  @if ($icon == 'chevron-right-8') {\n    mask-image: url(\"data:image/svg+xml,%3Csvg id='chevron-right-8' viewBox='0 0 8 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.50025,0 C2.75625,0 3.01225,0.098 3.20725,0.293 L6.20725,3.293 C6.59825,3.684 6.59825,4.316 6.20725,4.707 L3.20725,7.707 C2.81625,8.098 2.18425,8.098 1.79325,7.707 C1.40225,7.316 1.40225,6.684 1.79325,6.293 L4.08625,4 L1.79325,1.707 C1.40225,1.316 1.40225,0.684 1.79325,0.293 C1.98825,0.098 2.24425,0 2.50025,0'/%3E%3C/svg%3E%0A\");\n  }\n}\n"]}