@randstad-design/orbit-multitheme
Version:
multitheme Front-end code based on Randstad Human Forward components
1 lines • 28.8 kB
Source Map (JSON)
{"version":3,"sources":["../scss/02_atoms/_avatar.scss","00_helpers/mixins/_font-style.scss","00_helpers/variables/_fonts.scss","00_tools/_background-variants.scss","00_helpers/mixins/_avatar.scss","../scss/00_tools/cssVartoSass.scss","02_atoms/_avatar.scss","../scss/03_molecules/_contact-details.scss","00_helpers/variables/_spacing.scss","00_helpers/mixins/_text-ellipsis.scss","../scss/03_molecules/_person-profile.scss","00_helpers/variables/_person-profile.scss","00_helpers/mixins/_media-queries.scss","00_helpers/mixins/_person-profile.scss","00_helpers/variables/_colors.scss","../scss/04_organisms/_contact-person.scss","00_helpers/mixins/grid/_grid-columns.scss","00_helpers/variables/_sizing.scss"],"names":[],"mappings":"AAAA;EACE,yBAAmB;EAAnB,2BAAmB;EAAnB,sBAAmB;EAAnB,mBAAmB;EACnB,kBAAkB;EAClB,sBAAsB;EACtB,oBAAa;EAAb,qBAAa;EAAb,oBAAa;EAAb,aAAa;EACb,wBAAuB;EAAvB,+BAAuB;EAAvB,qBAAuB;EAAvB,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB,EAAA;EAPpB;IAWI,kBAAkB,EAAA;EAXtB;IAeI,oBAAiB;IAAjB,iBAAiB;IACjB,UAAU,EAAA;;AAId;ECQE,eC4BiB;ED3BjB,oBC6BsB;ED5BtB,iBC2BmB;EFnCnB,aAAsB;EACtB,gBAAgB;EAChB,YAAY,EAAA;;AAGd;ECCE,eCuBiB;EDtBjB,oBCwBsB;EDvBtB,iBCsBmB;EFvBnB,aAAsB;EACtB,gBAAgB;EAChB,YAAY,EAAA;;AAGd;ECNE,eCkBiB;EDjBjB,oBCmBsB;EDlBtB,iBCiBmB;EFXnB,YAAqB;EACrB,eAAe;EACf,WAAW,EAAA;;AAGb;ECbE,eCQiB;EDPjB,iBCSmB;EDRnB,iBCOmB;EFMnB,YAAqB;EACrB,eAAe;EACf,WAAW,EAAA;;AAGb;ECpBE,eCGiB;EDFjB,iBCImB;EDHnB,iBCEmB;EFkBnB,YAAqB;EACrB,eAAe;EACf,WAAW,EAAA;;AAGb;EC3BE,eCPiB;EDQjB,iBCNmB;EDOnB,iBCRmB;EFmCnB,YAAqB;EACrB,eAAe;EACf,WAAW,EAAA;;AAGb;EACE,YAAuB;EACvB,eAAe;EACf,WAAW;EACX,oBAAoB,EAAA;EAJtB;IAOI,YAAY,EAAA;EAPhB;IClCE,eCPiB;IDQjB,iBCNmB;IDOnB,iBCRmB,EAAA;;ACgCP;EC/CR,oCCLuC;EDMvC,2CCNuC,EAAA;;AFkF/B;ECtER,uBAAuB;EACvB,8BAA8B,EAAA;EDqEtB;IClEN,gCChBqC;IDiBrC,yBCjBqC,EAAA;IFkF/B;MC9DJ,gCCpBmC;MDqBnC,yBCrBmC,EAAA;EFkF/B;ICxDN,oCC1BqC;ID2BrC,yBC3BqC,EAAA;IFkF/B;MCpDJ,yBC9BmC,EAAA;;AFkF/B;ECtER,uBAAuB;EACvB,8BAA8B,EAAA;EDqEtB;IClEN,yCChBqC;IDiBrC,kCCjBqC,EAAA;IFkF/B;MC9DJ,gCCpBmC;MDqBnC,yBCrBmC,EAAA;EFkF/B;ICxDN,6CC1BqC;ID2BrC,kCC3BqC,EAAA;IFkF/B;MCpDJ,yBC9BmC,EAAA;;AFkF/B;ECtER,uBAAuB;EACvB,8BAA8B,EAAA;EDqEtB;IClEN,mDChBqC;IDiBrC,4CCjBqC,EAAA;IFkF/B;MC9DJ,0CCpBmC;MDqBnC,mCCrBmC,EAAA;EFkF/B;ICxDN,uDC1BqC;ID2BrC,4CC3BqC,EAAA;IFkF/B;MCpDJ,mCC9BmC,EAAA;;AFkF/B;ECtER,uBAAuB;EACvB,8BAA8B,EAAA;EDqEtB;IClEN,kDChBqC;IDiBrC,2CCjBqC,EAAA;IFkF/B;MC9DJ,0CCpBmC;MDqBnC,mCCrBmC,EAAA;EFkF/B;ICxDN,sDC1BqC;ID2BrC,2CC3BqC,EAAA;IFkF/B;MCpDJ,mCC9BmC,EAAA;;AFkF/B;ECtER,uBAAuB;EACvB,8BAA8B,EAAA;EDqEtB;IClEN,0CChBqC;IDiBrC,mCCjBqC,EAAA;IFkF/B;MC9DJ,0CCpBmC;MDqBnC,mCCrBmC,EAAA;EFkF/B;ICxDN,8CC1BqC;ID2BrC,mCC3BqC,EAAA;IFkF/B;MCpDJ,mCC9BmC,EAAA;;AFkF/B;ECtER,uBAAuB;EACvB,8BAA8B,EAAA;EDqEtB;IClEN,0CChBqC;IDiBrC,mCCjBqC,EAAA;IFkF/B;MC9DJ,oDCpBmC;MDqBnC,6CCrBmC,EAAA;EFkF/B;ICxDN,8CC1BqC;ID2BrC,mCC3BqC,EAAA;IFkF/B;MCpDJ,6CC9BmC,EAAA;;AFkF/B;ECtER,uBAAuB;EACvB,8BAA8B,EAAA;EDqEtB;IClEN,mDChBqC;IDiBrC,4CCjBqC,EAAA;IFkF/B;MC9DJ,0CCpBmC;MDqBnC,mCCrBmC,EAAA;EFkF/B;ICxDN,uDC1BqC;ID2BrC,4CC3BqC,EAAA;IFkF/B;MCpDJ,mCC9BmC,EAAA;;ADqC3C;EACE,uCCtCyC;EDuCzC,2CCvCyC,EAAA;EDyCzC;;IAEE,8BC3CuC;ID4CvC,2CC5CuC,EAAA;;ADkDzC;;;;;EAEE,uBAAuB;EACvB,8CCrDuC;EDsDvC,mCCtDuC,EAAA;;AD2DzC;;EAEE,uBAAuB;EACvB,sDC9DuC;ED+DvC,yBC/DuC,EAAA;;ADoEzC;;EAEE,uBAAuB;EACvB,oCCvEuC;EDwEvC,yBCxEuC,EAAA;;ACF7C;EACE,6CDC2C;ECA3C,2CDA2C,EAAA;ECE3C;;IAEE,8BDJyC;ICKzC,2CDLyC,EAAA;;ACW3C;;;;;EAEE,uBAAuB;EACvB,8CDdyC;ECezC,mCDfyC,EAAA;;ACoB3C;;EAEE,uBAAuB;EACvB,sDDvByC;ECwBzC,yBDxByC,EAAA;;AC6B3C;;EAEE,uBAAuB;EACvB,oCDhCyC;ECiCzC,yBDjCyC,EAAA;;AEA3C;EACE,yBAAmB;EAAnB,2BAAmB;EAAnB,sBAAmB;EAAnB,mBAAmB;EACnB,oBAAa;EAAb,qBAAa;EAAb,oBAAa;EAAb,aAAa,EAAA;EAFd;IAKG,eCGwB,EAAA;;ADC5B;EACE,oBAAa;EAAb,qBAAa;EAAb,oBAAa;EAAb,aAAa;EACb,YAAY,EAAA;EAFb;IAKG,sBAAc;IAAd,oBAAc;IAAd,cAAc;IACd,kBAAkB;IAClB,QCRwB,EAAA;EDC3B;IERD,gBFmBwC;IElBxC,eFkB+B;IEjB/B,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB,EAAA;;ACNlB;EAEG,gBFWoB,EAAA;;AEbvB;EAMG,gBFKoB,EAAA;;AEXvB;EAUG,gBFEoB,EAAA;;AEExB;ETaA,eCkBiB;EDjBjB,oBCmBsB;EDlBtB,iBCiBmB;EQ9BjB,yBCfkC,EAAA;;ADkBpC;EACE,gBFTsB,EAAA;;AEYxB;EAEE,gBAAgB;EAChB,gBFfsB,EAAA;;AEkBxB;ETFA,eCQiB;EDPjB,iBCSmB;EDRnB,iBCOmB;EQLjB,gBAAgB;EAChB,gBFtBuB,EAAA;;AEyBzB;EACE,oBAAa;EAAb,qBAAa;EAAb,oBAAa;EAAb,aAAa,EAAA;EADd;ITRD,eCGiB;IDFjB,iBCImB;IDHnB,iBCEmB;IQSf,iBF7BoB;IE8BpB,aAAa,EAAA;;AEoBf;EFbF;IACE,gBFnCuB,EAAA;EEsCzB;IACI,gBAAgB,EAAA,EACnB;;AGpDD;EACE,iCRFyC,EAAA;EFkF/B;IU7EN,mCRLqC,EAAA;EFkF/B;IU7EN,iCRLqC,EAAA;EFkF/B;IU7EN,iCRLqC,EAAA;EFkF/B;IU7EN,iCRLqC,EAAA;EFkF/B;IU7EN,mCRLqC,EAAA;EFkF/B;IU7EN,6CRLqC,EAAA;EFkF/B;IU7EN,mCRLqC,EAAA;;AQW3C;;EAII,cChBoB,EAAA;;AF6DtB;EG9DJ;IAEI,2BC2ByD,EAAA;ID7B7D;MAKM,oBAAa;MAAb,qBAAa;MAAb,oBAAa;MAAb,aAAa,EAAA;IALnB;MASM,YAAY;MACZ,gCCmBuD;MDlBvD,gBAAgB;MAChB,+BCiBuD;MDhBvD,YAAY,EAAA;IAblB;MAkBM,+BCWuD;MDVvD,YAAY,EAAA;MAnBlB;Qd4BE,eCiCiB;QDhCjB,oBCkCsB;QDjCtB,iBCgCmB,EAAA;Ia9DrB;MA2BM,iBAAiB;MACjB,2BCCuD,EAAA,EDAxD;;AHiCD;EG7BJ;IAGI,kBE3BkB;IF4BlB,+BCRyD;IDSzD,iBAAiB;IACjB,aPzBsB,EAAA,EO2BzB;;AFtCC;EACE,iCRFyC,EAAA;EFkF/B;IU7EN,mCRLqC,EAAA;EFkF/B;IU7EN,iCRLqC,EAAA;EFkF/B;IU7EN,iCRLqC,EAAA;EFkF/B;IU7EN,iCRLqC,EAAA;EFkF/B;IU7EN,mCRLqC,EAAA;EFkF/B;IU7EN,6CRLqC,EAAA;EFkF/B;IU7EN,mCRLqC,EAAA;;AQW3C;;EAII,cChBoB,EAAA","file":"contact-person.css","sourcesContent":[".avatar {\n align-items: center;\n border-radius: 50%;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n overflow: hidden;\n position: relative;\n\n // make image over initials possible (for slow loading/missing images)\n span {\n position: absolute;\n }\n\n img {\n object-fit: cover;\n z-index: 1;\n }\n}\n\n.avatar--XXL {\n @include font-style('title--l', 'title--l');\n height: $baseline * 15;\n min-width: 150px;\n width: 150px;\n}\n\n.avatar--XL {\n @include font-style('title--m', 'title--m');\n height: $baseline * 10;\n min-width: 100px;\n width: 100px;\n}\n\n.avatar--L {\n @include font-style('title--s', 'title--s');\n height: $baseline * 8;\n min-width: 80px;\n width: 80px;\n}\n\n.avatar--M {\n @include font-style('title--xxs', 'title--xxs');\n height: $baseline * 5;\n min-width: 50px;\n width: 50px;\n}\n\n.avatar--S {\n @include font-style('body--m', 'body--m');\n height: $baseline * 4;\n min-width: 40px;\n width: 40px;\n}\n\n.avatar--XS {\n @include font-style('body--xs', 'body--xs');\n height: $baseline * 3;\n min-width: 30px;\n width: 30px;\n}\n\n.avatar--XXS {\n height: $baseline * 2.5;\n min-width: 25px;\n width: 25px;\n line-height: initial;\n\n span {\n font-size: 0;\n }\n\n span:first-letter {\n @include font-style('body--xs', 'body--xs');\n }\n}\n\n@include avatar-background-mapping;\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","@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","@mixin avatar-background-mapping {\n .avatar {\n @include bg-variants(\n $supportedBackgrounds: (\n 'brand-tertiary'\n )\n ) {\n background-color: variant-property('avatarBackground');\n color: variant-property('avatarText');\n }\n }\n\n .avatar__navigation.avatar__initials {\n @include bg-variants() {\n background: transparent;\n border: 2px solid currentColor;\n\n &.avatar--XS {\n border-color: variant-property('navigationLinkIdle');\n color: variant-property('navigationLinkIdle');\n\n &:hover {\n border-color: variant-property('navigationLinkHover');\n color: variant-property('navigationLinkHover');\n }\n }\n\n &.avatar--XXS {\n border: 2px solid variant-property('navigationLinkIdle');\n color: variant-property('navigationLinkIdle');\n\n &:hover {\n color: variant-property('navigationLinkHover');\n }\n }\n }\n }\n\n // todo delete when color map is final\n .avatar {\n background: returnColorCSSVar('brand-tertiary');\n color: returnColorCSSVar('brand-secondary-tint-60');\n\n .bg-variant-brand-tertiary &,\n .bg-brand--off-white & {\n background: returnColorCSSVar('white');\n color: returnColorCSSVar('brand-secondary-tint-60');\n }\n }\n\n .avatar--XS.avatar__initials,\n .avatar--XXS.avatar__initials {\n .bg-brand--yellow &,\n .bg-variant-brand-senary & {\n background: transparent;\n border: 2px solid returnColorCSSVar('brand-secondary');\n color: returnColorCSSVar('brand-secondary');\n }\n }\n\n .avatar--XS.avatar__initials {\n .bg-brand--dark-blue &,\n .bg-variant-brand-secondary & {\n background: transparent;\n border: 2px solid returnColorCSSVar('brand-secondary-tint-60');\n color: returnColorCSSVar('white');\n }\n }\n\n .avatar--XXS.avatar__initials {\n .bg-brand--dark-blue &,\n .bg-variant-brand-secondary & {\n background: transparent;\n border: 2px solid returnColorCSSVar('white');\n color: returnColorCSSVar('white');\n }\n }\n}\n","// Returns CSS4 color variables\n@function returnColorCSSVar($color-name) {\n @return var(--color-#{$color-name});\n}\n",".avatar {\n background-color: returnColorCSSVar('brand-tertiary');\n color: returnColorCSSVar('brand-secondary-tint-80');\n\n .bg-brand--off-white &,\n .bg-brand-tertiary & {\n background: returnColorCSSVar('white');\n color: returnColorCSSVar('brand-secondary-tint-60');\n }\n}\n\n.avatar--XS.avatar__initials,\n.avatar--XXS.avatar__initials {\n .bg-brand--six &,\n .bg-brand-senary & {\n background: transparent;\n border: 2px solid returnColorCSSVar('brand-secondary');\n color: returnColorCSSVar('brand-secondary');\n }\n}\n\n.avatar--XS.avatar__initials {\n .bg-brand--two &,\n .bg-brand-secondary & {\n background: transparent;\n border: 2px solid returnColorCSSVar('brand-secondary-tint-60');\n color: returnColorCSSVar('white');\n }\n}\n\n.avatar--XXS.avatar__initials {\n .bg-brand--two &,\n .bg-brand-secondary & {\n background: transparent;\n border: 2px solid returnColorCSSVar('white');\n color: returnColorCSSVar('white');\n }\n}\n\n",".contact-details {\n // item\n &__item {\n align-items: center;\n display: flex;\n\n & + & {\n margin-top: $spacing--xxs;\n }\n }\n // link\n &__link {\n display: flex;\n min-width: 0;\n\n .icon {\n flex-shrink: 0;\n margin-right: 15px;\n top: $spacing--xxs;\n }\n\n .icon + span {\n @include text-ellipsis(100%, initial);\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","// @text-ellipsis($width, $display)\n\n@mixin text-ellipsis($width: 100%, $display: inline-block) {\n display: $display;\n max-width: $width;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n",".person {\n &__profile {\n & + & {\n margin-top: $spacing--l;\n }\n\n .contact-details {\n margin-top: $spacing--s;\n }\n\n .social__list {\n margin-top: $spacing--m;\n }\n }\n\n &__name {\n @include font-style($person-name-font-style, $person-name-font-style);\n text-transform: $person-name-text-transform;\n }\n\n &__description + .social__list {\n margin-top: $spacing--s;\n }\n\n &__info p:not(.person__title),\n &__description {\n margin-bottom: 0;\n margin-top: $spacing--s;\n }\n\n &__title {\n @include font-style('body--l');\n margin-bottom: 0;\n margin-top: $spacing--xs;\n }\n\n &--s {\n display: flex;\n\n .person__description {\n @include font-style('body--m');\n margin-left: $spacing--s;\n margin-top: 0;\n }\n }\n}\n\n// viewport l\n@include viewport--l {\n .person__profile + .person__profile {\n margin-top: $spacing--xl;\n }\n\n .my-environment-container .person__initials {\n margin-bottom: 0;\n }\n}\n\n// background mappings\n@include person-profile-background-mapping;\n","// title\n$person-name-font-style: 'title--s';\n$person-name-text-transform: lowercase;\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","\n@mixin person-profile-background-mapping {\n\n .person__name {\n color: returnColorCSSVar('brand-primary');\n\n @include bg-variants() {\n color: variant-property('titleSecondary');\n }\n }\n\n //! deprecation warning remove after bg-map is final\n\n .bg-brand--off-white,\n .bg-brand--white {\n\n .contact-details__link .icon {\n color: $color-brand--two;\n }\n }\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",".contact-person {\n @include viewport--l {\n width: grid-columns(8, 12);\n // person profile\n .person__profile {\n display: flex;\n }\n // person image\n .person__image {\n height: 100%;\n max-height: grid-columns(3, 8);\n margin-bottom: 0;\n max-width: grid-columns(3, 8);\n width: 200px;\n }\n\n // initials\n .person__initials {\n max-width: grid-columns(3, 8);\n width: 200px;\n\n span {\n @include font-style('title--xl');\n }\n }\n // person info\n .person__info {\n margin-left: auto;\n width: grid-columns(5, 8);\n }\n }\n}\n\n.meta-info {\n\n @include viewport--l {\n border-radius: $border-radius--l;\n max-width: grid-columns(6, 12);\n margin-left: auto;\n padding: $spacing--l;\n }\n}\n\n@include person-profile-background-mapping;\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","// 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"]}