{"version":3,"sources":["../scss/04_organisms/_teaser.scss","components/teaser.css","00_helpers/variables/_sizing.scss","../scss/00_tools/cssVartoSass.scss","00_helpers/mixins/_media-queries.scss","00_helpers/mixins/_font-style.scss","00_helpers/variables/_fonts.scss","00_helpers/mixins/_line-clamp.scss"],"names":[],"mappings":"AAAA;;;;;;;;mCCQmC;ADEnC;EACE,kBEFoB;EFGpB,yBGV2C;EHW3C,aAAa;EACb,gBAAgB;EAChB,kBAAkB;EAClB,qBAAqB;EACrB,WAAW,EAAA;EIiCT;IJxCJ;MAWI,iBAAiB,EAAA,EAiBpB;EIwBG;IJpCA;MACE,aAAa,EAAA,EACd;EAGH;IACE,aAAa,EAAA;EAtBjB;IA0BI,oCGlCyC,EAAA;;AHsC7C;EACE,kBAAkB,EAAA;;AAGpB;;EAEE,kBErCoB;EFsCpB,YAAY;EACZ,OAAO;EACP,oBAAiB;EAAjB,iBAAiB;EACjB,kBAAkB;EAClB,qBAAqB;EACrB,MAAM;EACN,WAAW,EAAA;;AAGb;EACE,iCAAiC;EACjC,UAAU;EACV,oCAA4B;EAA5B,4BAA4B;EAC5B,YAAW;EACX,WAAU,EAAA;;AAGZ;EACE,qBAAqB,EAAA;;AAGvB;EACE,+EAIC;EAJD,2EAIC;EACD,eAAe;EACf,qCAA6B;EAA7B,6BAA6B;EAC7B,oBAAa;EAAb,qBAAa;EAAb,oBAAa;EAAb,aAAa;EACb,kBAAkB,EAAA;EIfhB;IJMJ;MAYI,aAAa,EAAA;MAEb;QACE,+EAIC;QAJD,2EAIC,EAAA,EACF;;AAIL;EACE,kBAAkB;EAClB,oBAAa;EAAb,qBAAa;EAAb,oBAAa;EAAb,aAAa;EACb,sBAAqB;EAArB,6BAAqB;EAArB,mBAAqB;EAArB,qBAAqB,EAAA;;AIjCnB;EJoCJ;IAEI,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,mCAA2B;IAA3B,2BAA2B;IAC3B,+CAA+B;IAA/B,uCAA+B;IAA/B,+BAA+B;IAA/B,4DAA+B,EAAA,EAElC;;AI5CG;EJ8CJ;IAEI,iBAAiB,EAAA,EAEpB;;AAED;EACE,iBAAiB,EAAA;;AIjEf;EJoEJ;IAEI,YAAY;IACZ,UAAU;IACV,kBAAkB;IAClB,WAAW,EAAA,EAQd;;AIrEG;EJwDJ;IASI,YAAY;IACZ,oBAAoB;IACpB,oCAA4B;IAA5B,4BAA4B,EAAA,EAE/B;;AAED;EACE,yBGpI2C;EHqI3C,mBAAmB,EAAA;;AAGrB;EK9GE,eCkBiB;EDjBjB,oBCmBsB;EDlBtB,iBCiBmB;EC9CnB,qBP2IqB;EO1IrB,4BAA4B;EAC5B,oBAAoB;EACpB,gBAAgB;EPyIhB,yBG3I2C;EH4I3C,oBAAoB;EACpB,iBAAiB,EAAA;;AAInB;EACE,yBGlJ2C;EHmJ3C,UAAU,EAAA;EIvFR;IJqFJ;MAKI,oBAAoB;MACpB,iBAAiB;MACjB,qCAA6B;MAA7B,6BAA6B,EAAA,EAEhC;;AAED;EO7JE,qBP8JqB;EO7JrB,4BAA4B;EAC5B,oBAAoB;EACpB,gBAAgB,EAAA;;AP8JlB;EACE,SAAS;EACT,2BAAoB;EAApB,4BAAoB;EAApB,2BAAoB;EAApB,oBAAoB;EACpB,eAAe,EAAA;EIvGb;IJoGJ;MAKI,UAAU;MACV,kBAAkB;MAClB,0CAA0B;MAA1B,kCAA0B;MAA1B,0BAA0B;MAA1B,kDAA0B,EAAA,EAE7B;;AIzHG;EJ2HJ;IAEI,YAAY;IACZ,yBG9KyC;IH+KzC,UAAU;IACV,kBAAkB;IAClB,SAAS,EAAA,EAEZ;;AIvHG;EJ4HF;;IAGI,yBAAiB;IAAjB,iBAAiB;IACjB,uCAAuB;IAAvB,+BAAuB;IAAvB,uBAAuB;IAAvB,4CAAuB,EAAA;EAJ3B;;IAQI,kBEzLgB;IF0LhB,UAAU;IACV,kBAAkB;IAClB,qBAAqB;IACrB,oCAA4B;IAA5B,4BAA4B,EAAA;EAZhC;;IOzLA,qBPyMyB;IOxMzB,4BAA4B;IAC5B,oBAAoB;IACpB,gBAAgB;IPuMZ,mBAAmB;IACnB,gBAAgB;IAChB,gCAAwB;IAAxB,wBAAwB;IACxB,0CAA0B;IAA1B,kCAA0B;IAA1B,0BAA0B;IAA1B,kDAA0B,EAAA;EApB9B;;IAwBI,mBAAmB;IACnB,qBAAqB,EAAA;EAzBzB;;IA6BI,iCAAyB;IAAzB,yBAAyB;IACzB,oBAAoB,EAAA;EA9BxB;;IAkCI,iBAAiB;IACjB,eAAe;IACf,sBAAsB,EAAA;EApC1B;;IAwCI,qBAAqB,EAAA;EAxCzB;;IA4CI,UAAU;IACV,oDAAoC;IAApC,4CAAoC;IAApC,oCAAoC;IAApC,sEAAoC,EAAA;EA7CxC;;IAiDI,UAAU;IACV,0CAAkC;IAAlC,kCAAkC,EAAA;EAMtC;IACE,UAAU,EAAA;IADZ;MAII,mBAAmB;MACnB,gBAAgB;MAChB,gCAAwB;MAAxB,wBAAwB,EAAA;MAN5B;QASM,iCAAyB;QAAzB,yBAAyB;QACzB,oBAAoB,EAAA;MAV1B;QAcM,UAAU,EAAA,EACX","file":"teaser.css","sourcesContent":["/***** in this file ***************\n  base styling cards\n  - specific for S/M & L\n\n  hover & focus effects cards\n  - viewport L only\n\n  focus effect CTA\n***********************************/\n\n.teaser {\n  border-radius: $border-radius--l;\n  color: returnColorCSSVar('white');\n  height: 500px; // standard height mobile & 2 card version\n  overflow: hidden;\n  position: relative;\n  text-decoration: none;\n  width: 100%;\n\n  @include viewport--l('inversed') {\n    // added in case JS is disabled:\n    margin-right: 5px;\n  }\n\n  @include viewport--l {\n    // increase hight for 3 card version:\n    &--large {\n      height: 550px;\n    }\n  }\n\n  &--small {\n    height: 400px;\n  }\n\n  .list--checks li::before {\n    background-color: returnColorCSSVar('white');\n  }\n}\n\n.teaser__content {\n  padding: 30px 20px;\n}\n\n.teaser__gradient,\n.teaser__img {\n  border-radius: $border-radius--l;\n  height: 100%;\n  left: 0;\n  object-fit: cover;\n  position: absolute;\n  text-decoration: none; //prevent any hyperlink effect on hover\n  top: 0;\n  width: 100%;\n}\n\n.teaser .teaser__shade {\n  background: rgba(15, 25, 65, 0.7);\n  opacity: 0;\n  transition: opacity .3s ease;\n  height:100%;\n  width:100%;\n }\n\n.teaser a {\n  text-decoration: none;\n}\n\n.teaser__gradient {\n  background: linear-gradient(\n    -180deg,\n    rgba(15, 25, 65, 0) 33%,\n    rgb(15, 25, 65) 100%\n  );\n  cursor: pointer;\n  transition: all 0.3s ease -1s;\n  display: flex;\n  padding: 30px 20px;\n\n  @include viewport--l {\n    padding: 40px;\n    // exception: for 2 cards list on desktop: 50%\n    .cards__list--halves & {\n      background: linear-gradient(\n        -180deg,\n        rgba(15, 25, 65, 0) 50%,\n        rgb(15, 25, 65) 100%\n      );\n    }\n  }\n}\n\n.teaser__wrapper {\n  position: relative;\n  display: flex;\n  align-items: flex-end;\n}\n\n.teaser__body {\n  @include viewport--l {\n    margin-top: auto;\n    max-height: 338px;\n    position: relative;\n    transform: translateY(100%);\n    transition: transform 0.3s ease;\n  }\n}\n\n.teaser--large .teaser__body {\n  @include viewport--l {\n    max-height: 365px;\n  }\n}\n\n.teaser--small .teaser__body {\n  max-height: 256px;\n}\n\n.teaser__header {\n  @include viewport--l('inversed') {\n    bottom: 70px;\n    left: 20px;\n    position: absolute;\n    right: 20px;\n  }\n\n  @include viewport--l {\n    height: 100%;\n    margin-bottom: -30px; // offset eyebrow space before hover\n    transform: translateY(-100%);\n  }\n}\n\n.teaser__date {\n  color: returnColorCSSVar('white');\n  margin-bottom: 10px;\n}\n\n.teaser__title {\n  @include font-style('title--s', 'title--s');\n  @include line-clamp(9);\n  color: returnColorCSSVar('white');\n  margin-bottom: unset;\n  max-height: 270px; // keep long titles wihin background gradient scope\n\n}\n\n.teaser__description {\n  color: returnColorCSSVar('white');\n  opacity: 0;\n\n  @include viewport--l {\n    margin-bottom: unset;\n    padding-top: 20px;\n    transition: opacity 0.3s ease;\n  }\n}\n\n.cards__list--quarters .teaser__description {\n  @include line-clamp(4);\n}\n\n.teaser__cta {\n  bottom: 0;\n  display: inline-flex;\n  max-width: 100%;\n  @include viewport--l {\n    opacity: 0;\n    position: absolute;\n    transition: transform 0.3s; // first out\n  }\n}\n\n.teaser__icon {\n  @include viewport--l('inversed') {\n    bottom: 30px;\n    color: returnColorCSSVar('white');\n    left: 20px;\n    position: absolute;\n    top: auto;\n  }\n}\n\n//////////////////////// HOVER AND FOCUS EFFECTS  //////////////////////////\n\n@include viewport--l {\n  .teaser:hover,\n  .teaser:focus {\n    img {\n      filter: blur(5px);\n      transition: filter 0.5s;\n    }\n\n    .teaser__shade {\n      border-radius: $border-radius--l; // to prevent flickering effect\n      opacity: 1;\n      position: absolute;\n      text-decoration: none;\n      transition: opacity .3s ease;\n    }\n\n    .teaser__body {\n      @include line-clamp(6);\n      margin-bottom: 90px;\n      margin-top: auto;\n      transform: translateY(0);\n      transition: transform 0.3s; // first in\n    }\n\n    &.teaser--small .teaser__body {\n      margin-bottom: 70px;\n      -webkit-line-clamp: 8;\n    }\n\n    .teaser__header {\n      transform: translateY(0%);\n      margin-bottom: unset;\n    }\n\n    .teaser__title {\n      max-height: unset;\n      overflow: unset;\n      -webkit-line-clamp: 10;\n    }\n\n    .cards__list--quarters .teaser__title {\n      -webkit-line-clamp: 5;\n    }\n\n    .teaser__description {\n      opacity: 1;\n      transition: transform 0.3s ease 0.1s; // second in\n    }\n\n    .teaser__cta {\n      opacity: 1;\n      transition: all 0.2s ease-out 0.1s; // third in (both opacity and transform effect)\n    }\n  }\n\n  //////////////////////// focus on CTA //////////////////////////\n\n  .teaser__cta:focus {\n    opacity: 1;\n\n    + .teaser__body {\n      margin-bottom: 90px; // allows for the button and 30px margin\n      overflow: hidden;\n      transform: translateY(0);\n\n      .teaser__header {\n        transform: translateY(0%);\n        margin-bottom: unset;\n      }\n\n      .teaser__description {\n        opacity: 1;\n      }\n    }\n  }\n}\n","/***** in this file ***************\n  base styling cards\n  - specific for S/M & L\n\n  hover & focus effects cards\n  - viewport L only\n\n  focus effect CTA\n***********************************/\n.teaser {\n  border-radius: 8px;\n  color: var(--color-white);\n  height: 500px;\n  overflow: hidden;\n  position: relative;\n  text-decoration: none;\n  width: 100%; }\n  @media (max-width: 940px) {\n    .teaser {\n      margin-right: 5px; } }\n  @media (min-width: 941px) {\n    .teaser--large {\n      height: 550px; } }\n  .teaser--small {\n    height: 400px; }\n  .teaser .list--checks li::before {\n    background-color: var(--color-white); }\n\n.teaser__content {\n  padding: 30px 20px; }\n\n.teaser__gradient,\n.teaser__img {\n  border-radius: 8px;\n  height: 100%;\n  left: 0;\n  object-fit: cover;\n  position: absolute;\n  text-decoration: none;\n  top: 0;\n  width: 100%; }\n\n.teaser .teaser__shade {\n  background: rgba(15, 25, 65, 0.7);\n  opacity: 0;\n  transition: opacity .3s ease;\n  height: 100%;\n  width: 100%; }\n\n.teaser a {\n  text-decoration: none; }\n\n.teaser__gradient {\n  background: linear-gradient(-180deg, rgba(15, 25, 65, 0) 33%, #0f1941 100%);\n  cursor: pointer;\n  transition: all 0.3s ease -1s;\n  display: flex;\n  padding: 30px 20px; }\n  @media (min-width: 941px) {\n    .teaser__gradient {\n      padding: 40px; }\n      .cards__list--halves .teaser__gradient {\n        background: linear-gradient(-180deg, rgba(15, 25, 65, 0) 50%, #0f1941 100%); } }\n\n.teaser__wrapper {\n  position: relative;\n  display: flex;\n  align-items: flex-end; }\n\n@media (min-width: 941px) {\n  .teaser__body {\n    margin-top: auto;\n    max-height: 338px;\n    position: relative;\n    transform: translateY(100%);\n    transition: transform 0.3s ease; } }\n\n@media (min-width: 941px) {\n  .teaser--large .teaser__body {\n    max-height: 365px; } }\n\n.teaser--small .teaser__body {\n  max-height: 256px; }\n\n@media (max-width: 940px) {\n  .teaser__header {\n    bottom: 70px;\n    left: 20px;\n    position: absolute;\n    right: 20px; } }\n\n@media (min-width: 941px) {\n  .teaser__header {\n    height: 100%;\n    margin-bottom: -30px;\n    transform: translateY(-100%); } }\n\n.teaser__date {\n  color: var(--color-white);\n  margin-bottom: 10px; }\n\n.teaser__title {\n  font-size: 26px;\n  letter-spacing: -1px;\n  line-height: 30px;\n  -webkit-line-clamp: 9;\n  -webkit-box-orient: vertical;\n  display: -webkit-box;\n  overflow: hidden;\n  color: var(--color-white);\n  margin-bottom: unset;\n  max-height: 270px; }\n\n.teaser__description {\n  color: var(--color-white);\n  opacity: 0; }\n  @media (min-width: 941px) {\n    .teaser__description {\n      margin-bottom: unset;\n      padding-top: 20px;\n      transition: opacity 0.3s ease; } }\n\n.cards__list--quarters .teaser__description {\n  -webkit-line-clamp: 4;\n  -webkit-box-orient: vertical;\n  display: -webkit-box;\n  overflow: hidden; }\n\n.teaser__cta {\n  bottom: 0;\n  display: inline-flex;\n  max-width: 100%; }\n  @media (min-width: 941px) {\n    .teaser__cta {\n      opacity: 0;\n      position: absolute;\n      transition: transform 0.3s; } }\n\n@media (max-width: 940px) {\n  .teaser__icon {\n    bottom: 30px;\n    color: var(--color-white);\n    left: 20px;\n    position: absolute;\n    top: auto; } }\n\n@media (min-width: 941px) {\n  .teaser:hover img,\n  .teaser:focus img {\n    filter: blur(5px);\n    transition: filter 0.5s; }\n  .teaser:hover .teaser__shade,\n  .teaser:focus .teaser__shade {\n    border-radius: 8px;\n    opacity: 1;\n    position: absolute;\n    text-decoration: none;\n    transition: opacity .3s ease; }\n  .teaser:hover .teaser__body,\n  .teaser:focus .teaser__body {\n    -webkit-line-clamp: 6;\n    -webkit-box-orient: vertical;\n    display: -webkit-box;\n    overflow: hidden;\n    margin-bottom: 90px;\n    margin-top: auto;\n    transform: translateY(0);\n    transition: transform 0.3s; }\n  .teaser:hover.teaser--small .teaser__body,\n  .teaser:focus.teaser--small .teaser__body {\n    margin-bottom: 70px;\n    -webkit-line-clamp: 8; }\n  .teaser:hover .teaser__header,\n  .teaser:focus .teaser__header {\n    transform: translateY(0%);\n    margin-bottom: unset; }\n  .teaser:hover .teaser__title,\n  .teaser:focus .teaser__title {\n    max-height: unset;\n    overflow: unset;\n    -webkit-line-clamp: 10; }\n  .teaser:hover .cards__list--quarters .teaser__title,\n  .teaser:focus .cards__list--quarters .teaser__title {\n    -webkit-line-clamp: 5; }\n  .teaser:hover .teaser__description,\n  .teaser:focus .teaser__description {\n    opacity: 1;\n    transition: transform 0.3s ease 0.1s; }\n  .teaser:hover .teaser__cta,\n  .teaser:focus .teaser__cta {\n    opacity: 1;\n    transition: all 0.2s ease-out 0.1s; }\n  .teaser__cta:focus {\n    opacity: 1; }\n    .teaser__cta:focus + .teaser__body {\n      margin-bottom: 90px;\n      overflow: hidden;\n      transform: translateY(0); }\n      .teaser__cta:focus + .teaser__body .teaser__header {\n        transform: translateY(0%);\n        margin-bottom: unset; }\n      .teaser__cta:focus + .teaser__body .teaser__description {\n        opacity: 1; } }\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","// 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","// @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","@mixin line-clamp($lines) {\n  -webkit-line-clamp: $lines;\n  -webkit-box-orient: vertical;\n  display: -webkit-box;\n  overflow: hidden;\n}\n"]}