{"version":3,"sources":["../scss/02_atoms/forms/upload/_upload.scss","00_helpers/variables/_colors.scss","00_helpers/variables/_sizing.scss","00_helpers/mixins/_font-style.scss","00_helpers/variables/_fonts.scss","../scss/00_tools/cssVartoSass.scss","00_helpers/variables/_transitions.scss","00_helpers/mixins/_form.scss","00_tools/_background-variants.scss","00_helpers/mixins/_media-queries.scss","00_helpers/mixins/grid/_grid-columns.scss","../scss/02_atoms/forms/upload/_upload-list.scss","00_helpers/variables/_icons.scss","00_helpers/mixins/_typography.scss","02_atoms/_upload.scss","../scss/03_molecules/animations/_file-upload.scss","../scss/03_molecules/_closable.scss","03_molecules/_upload-list.scss"],"names":[],"mappings":"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","file":"upload.css","sourcesContent":[".upload {\n  align-items: center;\n  background: $color-brand--white;\n  border: 1px solid $color--grey;\n  border-radius: $border-radius--l;\n  cursor: pointer;\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  min-height: $baseline * 12;\n  overflow: hidden;\n  padding: $spacing--m 30px;\n  position: relative;\n  text-align: center;\n\n  p {\n    @include font-style('body--xs');\n    margin-bottom: 0;\n    width: 100%;\n  }\n\n  &__text {\n    @include font-style('body--l');\n    position: relative;\n\n    .icon {\n      cursor: pointer;\n      left: 0;\n      top: $baseline * 0.2;\n    }\n  }\n\n  &__add {\n    cursor: pointer;\n    color: returnColorCSSVar('brand-primary');\n  }\n\n  &__content {\n    transform: translateY(0);\n    transition: transform $transition-duration--fast $transition-duration--fast,\n      opacity $transition-duration--fast $transition-duration--fast;\n    width: 100%;\n\n    &--drop {\n      align-items: center;\n      color: $color-brand--one;\n      display: flex;\n      height: 100%;\n      justify-content: center;\n      opacity: 0;\n      position: absolute;\n      transform: translateY(20px);\n      transition: transform $transition-duration--fast 0s,\n        opacity $transition-duration--fast 0s;\n    }\n  }\n}\n\n.form-group--upload {\n  input[type='file'] {\n    cursor: pointer;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    right: 0;\n    width: 100%;\n    z-index: 1;\n  }\n}\n\n// state - hover\n.form-group--upload:not(.form-group--read-only):not(.form-group--error)\n  .upload:hover,\ninput:focus + .upload {\n  border: 2px solid $color-brand--one;\n  padding: ($baseline * 2.9) 29px;\n}\n\n// state - drag\n.form-group--upload:not(.form-group--read-only) .upload {\n  transition: background $transition-duration--fast,\n    border $transition-duration--fast, padding $transition-duration--fast;\n\n  &--drag-over {\n    animation: file-upload 1.8s infinite;\n    background: $color--one-light;\n    border: 2px solid $color-brand--one;\n    padding: ($baseline * 2.9) 29px;\n\n    .upload__content--drop {\n      opacity: 1;\n      transform: translateY(0);\n      transition: transform $transition-duration--fast\n          $transition-duration--fast,\n        opacity $transition-duration--slow $transition-duration--fast;\n    }\n\n    .upload__content:not(.upload__content--drop) {\n      opacity: 0;\n      transition: transform $transition-duration--fast 0s,\n        opacity $transition-duration--fast 0s;\n    }\n  }\n}\n\n// state - error\n.form-group--error .upload {\n  @include form-field--invalid;\n}\n\n// state - read only / disabled\n.form-group--read-only .upload {\n  background: $color--grey-10;\n  border: 1px solid $color--grey;\n  cursor: auto;\n  padding: $spacing--m 30px;\n\n  &__add {\n    pointer-events: none;\n  }\n\n  input[type='file'] {\n    cursor: auto;\n  }\n}\n\n// // viewport l\n@include viewport--l {\n  .form-group--upload {\n    max-width: grid-columns(4, 9);\n  }\n}\n\n.form-group--upload-full-width {\n  max-width: none;\n}\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","// baseline size, used for every calculation\n$baseline: 10px;\n\n// border radius\n$border-radius: 4px;\n$border-radius--s: 3px;\n$border-radius--xs: 2px;\n$border-radius--m: 5px;\n$border-radius--m-l: 6px;\n$border-radius--l: 8px;\n$border-radius--max: 30px;\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","// Returns CSS4 color variables\n@function returnColorCSSVar($color-name) {\n  @return var(--color-#{$color-name});\n}\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","// @form-field--[] color schemes\n\n// - text colors\n//   -- disabled colors\n// - field colors\n//   -- radio & check colors\n//   -- option group\n// - error colors\n\n//// text colors ////\n\n@mixin form-field--primary-text-color {\n  color: returnColorCSSVar('brand-secondary');\n\n  @include bg-variants() {\n    color: variant-property('bodyPrimary');\n  }\n}\n\n@mixin form-field--secondary-text-color {\n  color: returnColorCSSVar('brand-secondary-tint-60');\n\n  @include bg-variants() {\n    color: variant-property('formTextSecondary');\n  }\n\n  a {\n    color: returnColorCSSVar('brand-secondary-tint-60');\n\n    @include bg-variants() {\n      color: variant-property('formTextSecondary');\n    }\n    text-decoration: underline solid currentColor;\n    &:hover {\n      text-decoration: underline solid transparent;\n    }\n  }\n}\n\n@mixin form-field-border-color {\n  border: 2px solid returnColorCSSVar(gray-20);\n}\n\n// disabled\n@mixin form-field--disabled-text-color {\n  color: returnColorCSSVar('brand-secondary-tint-80');\n\n  @include bg-variants() {\n    color: variant-property('formTextSecondary');\n  }\n}\n\n@mixin form-field--disabled-background-color {\n  background-color: returnColorCSSVar('gray-20');\n}\n\n@mixin form-field--disabled-idle {\n  border-color: returnColorCSSVar('gray-20');\n}\n\n@mixin form-field--disabled-checked {\n  background: returnColorCSSVar('gray-20');\n  border-color: returnColorCSSVar('gray-20');\n}\n\n@mixin form-field--disabled-indeterminate {\n  background: returnColorCSSVar('gray-20');\n}\n\n@mixin radio-button--disabled {\n  background: $color--grey-10;\n  border-color: $color--grey;\n\n  &::after {\n    background: $color--grey;\n  }\n}\n\n//// field colors ////\n\n// radio & check buttons\n@mixin form-field--border-interaction-color {\n  border-color: returnColorCSSVar('brand-primary');\n\n  @include bg-variants() {\n    border-color: variant-property('formBorderSecondary');\n  }\n}\n\n@mixin form-field--checked-field-color {\n  background: returnColorCSSVar('brand-primary');\n  border-color: returnColorCSSVar('brand-primary');\n\n  @include bg-variants() {\n    background: variant-property('formInputFillPrimary');\n    border-color: variant-property('formInputFillPrimary');\n  }\n}\n\n@mixin form-field--checked-active-color {\n  outline: 2px solid returnColorCSSVar('brand-primary');\n  outline-offset: 1px;\n\n  @include bg-variants() {\n    outline: 2px solid variant-property('formBorderSecondary');\n  }\n}\n\n@mixin form-field--checkmark-color {\n  background: returnColorCSSVar('brand-primary');\n\n  @include bg-variants() {\n    background: variant-property('formInputFillPrimary');\n  }\n}\n\n// option group\n@mixin form-field--option-group-color {\n  border: 1px solid $color--grey;\n  color: $color-brand--one;\n\n  @include bg-variants() {\n    border-color: variant-property('ghostBorderIdle');\n    color: variant-property('ghostTextIdle');\n  }\n}\n\n@mixin form-field--option-group-hover-color {\n  background: $color--one-7;\n  border-color: $color-brand--one;\n\n  @include bg-variants() {\n    background: variant-property('ghostBackgroundHover');\n    border-color: variant-property('ghostBackgroundHover');\n    color: variant-property('ghostTextHover');\n  }\n}\n\n@mixin form-field--option-group-active-color {\n  background: $color-brand--one;\n  border-color: $color-brand--one;\n  color: $color-brand--white;\n\n  @include bg-variants() {\n    background: variant-property('ghostBackgroundPressed');\n    border-color: variant-property('ghostBackgroundPressed');\n    color: variant-property('ghostTextPressed');\n  }\n}\n\n//// error colors ////\n@mixin form-field--feedback-color {\n  color: returnColorCSSVar('ui-negative');\n\n  @include bg-variants() {\n    color: variant-property('negative');\n  }\n}\n\n// specificity important\n@mixin form-field--invalid {\n  background: returnColorCSSVar('ui-negative-5');\n  border-color: returnColorCSSVar('ui-negative');\n\n  @include bg-variants() {\n    background: variant-property('formErrorSecondary');\n    border-color: variant-property('formErrorPrimary');\n    color: variant-property('formErrorInputText');\n  }\n}\n\n@mixin form-field--invalid-text-icon {\n  color: returnColorCSSVar('brand-secondary');\n  fill: returnColorCSSVar('brand-secondary');\n}\n\n@mixin form-field--invalid-label-color {\n  color: $color--negative;\n\n  .bg-brand--dark-blue &,\n  .bg-brand--blue &,\n  .bg-brand--turquoise &,\n  .bg-brand--yellow & {\n    color: $color-brand--two;\n  }\n\n  .bg-brand--red & {\n    color: $color--two-180;\n  }\n\n  @include bg-variants() {\n    color: variant-property('formErrorPrimary');\n  }\n}\n\n@mixin form-field--currency-color {\n  border: solid 1px $color--grey;\n\n  .bg-brand--turquoise &,\n  .bg-brand--yellow & {\n    border: solid 1px $color-brand--two;\n  }\n\n  .bg-brand--red & {\n    border: solid 1px $color--two-180;\n  }\n\n  @include bg-variants() {\n    border: 1px solid variant-property('formBorderPrimary');\n  }\n}\n\n@mixin form-field--focus {\n  border-color: $color-brand--one;\n  box-shadow: 0 0 0 1pt $color-brand--one;\n\n  .bg-brand--turquoise &,\n  .bg-brand--yellow & {\n    border-color: $color-brand--two;\n    box-shadow: 0 0 0 1pt $color-brand--two;\n  }\n\n  .bg-brand--red & {\n    border-color: $color--two-180;\n    box-shadow: 0 0 0 1pt $color--two-180;\n  }\n}\n\n@mixin form-field--invalid-box-shadow {\n  box-shadow: 0 0 0 1pt $color--negative;\n\n  .bg-brand--dark-blue &,\n  .bg-brand--blue &,\n  .bg-brand--turquoise &,\n  .bg-brand--yellow & {\n    box-shadow: 0 0 0 1pt $color-brand--two;\n  }\n\n  .bg-brand--red & {\n    box-shadow: 0 0 0 1pt $color--two-180;\n  }\n}\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","// @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","// @grid-columns($columns, $columns-total, $grid-gutter)\n\n// grid for viewport S & M:\n// 6 columns / 28 units\n//\n//  |   |   |   |   |   |   |   |   |   |   |   |\n//  | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 |\n//  |   |   |   |   |   |   |   |   |   |   |   |\n//\n//\n// grid for vieport L:\n// 12 columns / 58 units\n//\n//  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |\n//  | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 |\n//  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |\n\n@function grid-columns($columns, $columns-total, $grid-gutter: null) {\n  $column-gutter-diff: ($grid-column-units - $grid-gutter-units);\n\n  $column-units: ($columns * $grid-column-units) + (($columns - $column-gutter-diff) * $grid-gutter-units);\n  $columns-total: ($columns-total * $grid-column-units) + (($columns-total - $column-gutter-diff) * $grid-gutter-units);\n\n  // if grid gutter is provided use it in calculation\n  @if ($grid-gutter) {\n    @return calc(((#{$column-units} + (#{$grid-gutter} * #{$grid-gutter-units})) /#{$columns-total}) * 100%);\n  }\n  // if grid-gutter is not provided return default calculation\n  @else {\n    @return calc((#{$column-units}/#{$columns-total}) * 100%);\n  }\n}\n",".upload-list {\n  &__success,\n  .tooltip,\n  .indicator-percentage {\n    opacity: 0;\n  }\n\n  &__link {\n    color: $upload-list-link-color;\n    flex: 1;\n    margin-right: 10px;\n    overflow: hidden;\n    padding: ($baseline * 1.7) 0 ($baseline * 1.9);\n    white-space: nowrap;\n    text-overflow: ellipsis;\n  }\n\n  &__info {\n    white-space: nowrap;\n  }\n\n  &__item {\n    @include font-style('body--m');\n    align-items: center;\n    display: flex;\n    flex-wrap: wrap;\n    opacity: 1;\n    padding-right: 30px;\n    position: relative;\n    width: 100%;\n\n    .button--icon-only {\n      height: $icon-size--s;\n      position: absolute;\n      right: 0;\n      top: $baseline * 2.3;\n      width: $icon-size--s;\n    }\n\n    svg {\n      transition: fill $transition-duration--fast;\n    }\n\n    &.closable {\n      overflow: visible;\n    }\n\n    &.closable--closed {\n      border: 0 solid transparent;\n      overflow: hidden;\n    }\n\n    .indicator-percentage {\n      margin-top: 0;\n      position: absolute;\n      right: 0;\n      transition: opacity $transition-duration--slow,\n        width 0s $transition-duration--slow;\n    }\n  }\n  // item : error & success\n  &__item--error,\n  &__item--success {\n    .indicator-percentage {\n      opacity: 0;\n      width: 0;\n    }\n  }\n  // item : error\n  &__item--error {\n    .upload-list__link {\n      @include form-field--feedback-color;\n    }\n\n    .tooltip {\n      opacity: 1;\n    }\n\n    // only add delay if item is not being closed\n    &:not(.closable--closed) {\n      .upload-list__info,\n      .upload-list__remove,\n      .tooltip {\n        transition-delay: $transition-duration--slow;\n      }\n    }\n\n    .upload-list__info {\n      margin-right: 5px;\n    }\n  }\n  // item : success\n  &__item--success .upload-list {\n    &__link {\n      @include text--positive;\n    }\n\n    &__success {\n      animation: fade-out $transition-duration--slow 2s forwards;\n      opacity: 1;\n      transition-delay: $transition-duration--slow;\n    }\n\n    &__info,\n    &__remove {\n      animation: fade-in $transition-duration--fast 2.5s forwards;\n      opacity: 0;\n    }\n  }\n\n  &__item--success.closable--closed .upload-list__info {\n    animation: none;\n  }\n  // item : uploading\n  &__item--uploading {\n    .upload-list__info,\n    .upload-list__remove {\n      opacity: 0;\n      pointer-events: none;\n    }\n\n    .indicator-percentage {\n      opacity: 1;\n      width: 80px;\n    }\n  }\n  // tooltip\n  .tooltip {\n    &__trigger {\n      height: $icon-size;\n      width: $icon-size;\n    }\n\n    .icon {\n      cursor: pointer;\n    }\n\n    svg {\n      @include form-field--feedback-color;\n    }\n\n    &__content {\n      left: inherit;\n      min-width: 105px;\n      right: -10px;\n    }\n\n    &__pointer {\n      left: initial;\n      right: 15px;\n    }\n  }\n}\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","// @text--alternative\n\n@mixin text--alternative {\n  color: returnColorCSSVar('brand-secondary-tint-60');\n\n  a {\n    color: returnColorCSSVar('brand-secondary-tint-60');\n    text-decoration: underline solid currentColor;\n    &:hover {\n      text-decoration: underline solid transparent;\n    }\n  }\n\n  // invert for cards because white bg = off-white card\n  //! Need to be moved to cards and popover.\n  .cards &,\n  .popover & {\n    color: $color--two-80;\n  }\n\n  // ! Deprecation warning, do not use anymore. Will be removed in a later release use bg-variants function instead.\n  // specific color mappings\n  .bg-brand--off-white &,\n  .bg-brand-tertiary & {\n    color: $color--two-80;\n\n    // invert for cards because off-white bg = white card\n    .cards & {\n      color: $color--two-60;\n    }\n  }\n\n  .bg-brand--blue &,\n  .bg-brand--turquoise & {\n    color: $color-alpha--four-50;\n  }\n\n  .bg-brand--yellow & {\n    color: $color-alpha--two-70;\n  }\n\n  .bg-brand--red & {\n    color: $color--two-180;\n  }\n\n  @include bg-variants() {\n    color: variant-property('bodySecondary');\n  }\n}\n\n@mixin text--positive {\n  color: returnColorCSSVar('ui-positive');\n\n  @include bg-variants() {\n    color: variant-property('positive');\n  }\n}\n\n@mixin text--negative {\n  color: returnColorCSSVar('ui-negative');\n\n  @include bg-variants() {\n    color: variant-property('negative');\n  }\n}\n\n@mixin text--emphasis {\n  color: returnColorCSSVar('brand-primary');\n\n  @include bg-variants {\n    color: variant-property('titleSecondary');\n  }\n}\n",".upload {\n  .upload__content {\n    color: returnColorCSSVar('brand-secondary-tint-60');\n\n    a {\n      color: returnColorCSSVar('brand-primary');\n    }\n  }\n\n  .icon {\n    color: returnColorCSSVar('brand-secondary-tint-60');\n  }\n}\n","@keyframes file-upload {\n  0% {\n    background: $color-brand--white;\n  }\n\n  50% {\n    background: $color--one-light;\n  }\n\n  100% {\n    background: $color-brand--white;\n  }\n}\n\n@keyframes file-upload-success-to-complete {\n  100% {\n    color: $upload-list-link-color;\n  }\n}\n",".closable {\n  overflow: hidden;\n  transition: max-height $transition-duration--fast $transition-duration--fast,\n    border $transition-duration--fast $transition-duration--fast;\n\n  &--closed {\n    [data-rs-closable-fadeout] {\n      opacity: 0;\n      transition: opacity $transition-duration--fast;\n    }\n  }\n}\n",".upload-list__item--success {\n  .upload-list__link {\n    // Step 1: A local variable for the animation is made here\n    --color-uploadLinkColor: #{returnColorCSSVar('brand-primary')};\n    animation: fileUploadSuccessAnimation $transition-duration--fast 2s forwards;\n\n    // Step 2: The different background variant classes are added, which will update the local variable with the right link color\n    @include bg-variants() {\n      --color-uploadLinkColor: #{variant-property('linkIdle')};\n    }\n  }\n}\n\n@keyframes fileUploadSuccessAnimation {\n  // Step 3: The local variable is used in the animation\n  100% {\n    color: returnColorCSSVar('uploadLinkColor');\n  }\n}\n\n.upload-list__success {\n  svg {\n    color: returnColorCSSVar('ui-positive');\n\n    @include bg-variants {\n      color: variant-property('positive');\n    }\n  }\n}\n"]}