{"version":3,"sources":["../scss/04_organisms/banners/_banner.scss","00_helpers/variables/_spacing.scss","00_helpers/mixins/grid/_grid-gutter.scss","00_helpers/mixins/_font-style.scss","00_helpers/variables/_fonts.scss","00_helpers/mixins/_media-queries.scss","00_helpers/mixins/grid/_grid-columns.scss"],"names":[],"mappings":"AACE;EACE,oBCYsB;EDXtB,iBCWsB;EDVtB,WAAW,EAAA;;AAGb;EACE,iBAAiB;EACjB,oBAAoB;EACpB,aAAa;EACb,gDAAgD;EAChD,uCEToE;EFSpE,oCEToE;EFSpE,+BEToE,EAAA;;AFHxE;EG4BE,oDCXmE;EDYnE,eC2CiB;ED1CjB,yBC4C2B;ED3C3B,iBC0CmB,EAAA;ECXjB;IL9DJ;MG4BE,oDCXmE;MDYnE,eCuDiB;MDtDjB,yBCwD2B;MDvD3B,iBCsDmB,EAAA,EJjElB;;AApBH;EG4BE,mDCZiE;EDajE,eCqCiB;EDpCjB,oBCsCsB;EDrCtB,iBCoCmB,EAAA;ECLjB;IL9DJ;MG4BE,mDCZiE;MDajE,eC6DiB;MD5DjB,oBC8DsB;MD7DtB,iBC4DmB,EAAA,EJjElB;;AKwBC;ELnBF;IAEI,gBCtBqB,EAAA;EDyBvB;IACE,kBCjBe;IDkBf,mBClBe,EAAA;IDgBhB;MAKG,aAAsB;MACtB,oBAAiB;MAAjB,iBAAiB;MACjB,WAAW,EAAA;IAPd;MAWG,iBClCkB,EAAA;EDsCrB;IAEG,aAAsB;IACtB,cAAc;IACd,gBAAgB,EAAA;EAIpB;IACE,cAAc,EAAA;EA7BlB;IAiCI,SAAS;IACT,aAAsB,EAAA;EAGxB;IACE,iBCvDoB,EAAA,EDwDrB;;AK1CD;ELgDF;IACE,kBC1DiB;ID2DjB,mBC3DiB,EAAA,ED4DlB;;AKjBC;ELsBF;IACE,gBAAgB;IAChB,kBAAkB,EAAA;IAElB;MACE,oBAAa;MAAb,qBAAa;MAAb,oBAAa;MAAb,aAAa;MACb,iBAA0B,EAAA;IAG5B;MACE,0BAAkB;MAAlB,2BAAkB;MAAlB,kBAAkB;MAClB,oBChFqB;MDiFrB,iBCjFqB;MDkFrB,kBAAkB;MAClB,2BMrEuD,EAAA;MNwEvD;QACE,6CM7EoG;QN8EpG,2BM1EqD,EAAA;MN6EvD;QACE,WAAW,EAAA;IAIf;MACE,kBAAkB;MAClB,qBAAqB;MACrB,mBMrFuD;MNqFvD,sCMrFuD;MNqFvD,kCMrFuD;MNqFvD,8BMrFuD;MNsFvD,WAAW;MACX,aAAa;MACb,gDAAgD;MAChD,uCE/GkE;MF+GlE,oCE/GkE;MF+GlE,+BE/GkE,EAAA;IFkHpE;MACE,qBAAqB;MACrB,kBAAkB,EAAA;IAvCtB;MA2CI,qBAAqB,EAAA;IAGvB;MACE,4BAAQ;MAAR,gBAAQ;MAAR,iBAAQ;MAAR,QAAQ;MACR,QAAQ,EAAA;IAhDZ;MAoDI,0BAAkB;MAAlB,2BAAkB;MAAlB,kBAAkB;MAClB,+BM5GuD;MN6GvD,aAAsB,EAAA;IAIvB;MAEG,mBMnHqD;MNmHrD,sCMnHqD;MNmHrD,kCMnHqD;MNmHrD,8BMnHqD;MNoHrD,iBAAiB,EAAA;IAHpB;MAMG,iBAAiB;MACjB,4BAAQ;MAAR,gBAAQ;MAAR,iBAAQ;MAAR,QAAQ,EAAA;IAPX;MAWG,iBAAiB;MACjB,iCM7HqD;MN8HrD,eAAe;MACf,kCAAkC,EAAA;IAdrC;MAkBG,cAAc,EAAA;IAlBjB;MAsBG,OAAO,EAAA;IAtBV;MA0BG,QAAQ,EAAA,EACT","file":"banners.css","sourcesContent":[".banner {\n  &__content {\n    padding-bottom: $banner-content-spacing;\n    padding-top: $banner-content-spacing;\n    width: 100%;\n  }\n\n  &__text-container {\n    padding-top: 15px;\n    padding-bottom: 50px;\n    display: grid;\n    grid-template-columns: repeat(6, minmax(0, 1fr));\n    column-gap: grid-gutter();\n  }\n\n  .content-block__title {\n    @include font-style(\n      $banner-content-block-title-font-style,\n      $banner-content-block-title-font-style--l\n    );\n  }\n  .content-block__title-s {\n    @include font-style(\n      $banner-content-block-title--s-font-style,\n      $banner-content-block-title--s-font-style--l\n    );\n  }\n}\n\n// viewport m\n@include viewport--l('inversed') {\n  .banner {\n    .content-block__description {\n      margin-top: $spacing--xs;\n    }\n\n    &__media {\n      margin-left: -($grid-margin--m);\n      margin-right: -($grid-margin--m);\n\n      img {\n        height: $baseline * 20;\n        object-fit: cover; // needed because of height\n        width: 100%;\n      }\n\n      & + .banner__content {\n        padding-top: $spacing--m;\n      }\n    }\n    // limit image size\n    &__media:not(.media-block--half-width):not(.media-block--full-width):not(.media-block--boxed-large) {\n      img {\n        height: $baseline * 30; // forces height to exact Design specifications\n        margin: 0 auto;\n        max-height: 100%;\n      }\n    }\n\n    &__media:not(.media-block--half-width):not(.media-block--full-width):not(.media-block--boxed-large):not(.media-block--boxed) {\n      margin: 0 auto;\n    }\n    // boxed\n    .media-block--boxed {\n      margin: 0;\n      height: $baseline * 30; // forces height to exact Design specifications\n    }\n\n    &__wrapper {\n      padding-top: $spacing--l;\n    }\n  }\n}\n\n// viewport s\n@include viewport--m('inversed') {\n  .banner__media {\n    margin-left: -($grid-margin--s);\n    margin-right: -($grid-margin--s);\n  }\n}\n\n// viewport l\n@include viewport--l {\n  .banner {\n    overflow: hidden;\n    position: relative;\n\n    &__wrapper {\n      display: flex;\n      min-height: $baseline * 47;\n    }\n\n    &__content {\n      align-self: center;\n      padding-bottom: $banner-content-spacing--l;\n      padding-top: $banner-content-spacing--l;\n      position: relative;\n      width: grid-columns(5, 12);\n\n      // small\n      &--s {\n        margin-left: grid-columns(1, 12, 1);\n        width: grid-columns(5, 12);\n      }\n      // full width\n      &--full-width {\n        width: 100%;\n      }\n    }\n\n    &__text-container {\n      padding-top: 130px;\n      padding-bottom: 130px;\n      flex: 0 0 grid-columns(6, 12);\n      width: 100%;\n      display: grid;\n      grid-template-columns: repeat(6, minmax(0, 1fr));\n      column-gap: grid-gutter('l');\n    }\n\n    &__text-container--s {\n      padding-bottom: 100px;\n      padding-top: 100px;\n    }\n\n    .content-block__title {\n      overflow-wrap: normal;\n    }\n\n    &__media {\n      order: 1;\n      right: 0;\n    }\n    // boxed\n    .media-block--boxed {\n      align-self: center;\n      max-width: grid-columns(6, 12);\n      height: $baseline * 40; // forces height to exact Design specifications\n    }\n\n    // alternative (swaps order content/media)\n    &--alternative {\n      .banner__text-container {\n        flex: 0 0 grid-columns(6, 12);\n        margin-left: auto;\n      }\n      .banner__content {\n        margin-left: auto;\n        order: 1;\n      }\n      // small\n      .banner__content--s {\n        margin-left: auto;\n        margin-right: grid-columns(1, 12);\n        padding-left: 0;\n        padding-right: calc(2 / 58 * 100%);\n      }\n\n      .banner__media {\n        margin-left: 0;\n      }\n\n      .media-block--half-width {\n        left: 0;\n      }\n\n      img {\n        right: 0;\n      }\n    }\n  }\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","@function grid-gutter($viewport: 's') {\n  // viewport s\n  @if ($viewport == 's') {\n    @return calc((#{$grid-gutter-units}/#{$grid-units-total--s}) * 100%);\n  }\n  // viewport l\n  @else if ($viewport == 'l') {\n    @return calc((#{$grid-gutter-units}/#{$grid-units-total--l}) * 100%);\n  }\n}\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-family: (map-get($type, font-family));\n  font-size: (map-get($type, font-size));\n  text-transform: (map-get($type, text-transform));\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     | 12  | body s     | 12  | body s     | 12 |                 |\n\n// font family\n$font-family-theme: Montserrat, arial, sans-serif;\n$font-family-theme-semibold: Montserrat-SemiBold, arial, sans-serif;\n$font-family-theme-extrabold: Montserrat-ExtraBold, arial, sans-serif;\n// assets path to font\n// this path is overwritten in component CSS\n\n// font mappings - font-size / line-height / letter-spacing\n$types: (\n  12: (\n    font-size: 12px,\n    line-height: 15px,\n    text-transform: none,\n    font-family: $font-family-theme\n  ),\n  14: (\n    font-size: 14px,\n    line-height: 25px,\n    text-transform: none,\n    font-family: $font-family-theme\n  ),\n  16: (\n    font-size: 16px,\n    line-height: 25px,\n    text-transform: none,\n    font-family: $font-family-theme\n  ),\n  18: (\n    font-size: 18px,\n    line-height: 30px,\n    text-transform: none,\n    font-family: $font-family-theme\n  ),\n  20: (\n    font-size: 20px,\n    line-height: 30px,\n    text-transform: none,\n    font-family: $font-family-theme-extrabold\n  ),\n  20s: (\n    font-size: 20px,\n    line-height: 30px,\n    text-transform: none,\n    font-family: $font-family-theme-semibold\n  ),\n  26: (\n    font-size: 26px,\n    line-height: 30px,\n    text-transform: uppercase,\n    font-family: $font-family-theme-extrabold\n  ),\n  26s: (\n    font-size: 26px,\n    line-height: 30px,\n    text-transform: none,\n    font-family: $font-family-theme-semibold\n  ),\n  32: (\n    font-size: 32px,\n    line-height: 40px,\n    text-transform: uppercase,\n    font-family: $font-family-theme-extrabold\n  ),\n  32s: (\n    font-size: 32px,\n    line-height: 40px,\n    text-transform: none,\n    font-family: $font-family-theme-semibold\n  ),\n  40: (\n    font-size: 40px,\n    line-height: 45px,\n    text-transform: uppercase,\n    font-family: $font-family-theme-extrabold\n  ),\n  40s: (\n    font-size: 40px,\n    line-height: 45px,\n    text-transform: none,\n    font-family: $font-family-theme-semibold\n  ),\n  60: (\n    font-size: 60px,\n    line-height: 60px,\n    text-transform: uppercase,\n    font-family: $font-family-theme-extrabold\n  ),\n  80: (\n    font-size: 80px,\n    line-height: 80px,\n    text-transform: uppercase,\n    font-family: $font-family-theme-extrabold\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--l-slim: 40s,\n  title--m: 32,\n  title--m-slim: 32s,\n  title--s: 26,\n  title--s-slim: 26s,\n  title--xs: 20,\n  title--xs-slim: 20s,\n  title--xxs: 18,\n  body--l: 18,\n  body--m: 16,\n  body--s: 14,\n  body--xs: 12\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"]}