{"version":3,"file":"timeline-1.css","mappings":";;;AAAA;ACCA;AACA;AACA;AC+DQ;EAOI;AFnEZ;;AGFA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AHKD;AGHC;EACC;EACA;EACA;EACA;AHKF;AGHE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AHKH;AI+BI;ED5CF;IAWE;EHMF;AACF;AGHE;EACC;EACA;EACA;AHKH;AGHG;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AHKJ;AGFG;EACC;EACA;EACA;AHIJ;AGDG;EACC;AHGJ;AGEI;EACC;AHAL;AGIG;EACC;AHFJ;AILI;ED7BF;IAwCE;IACA;EHFF;EGIE;IACC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EHFH;EGOG;IACC;EHLJ;EGSE;IACC;EHPH;EGUE;IACC;EHRH;EGUG;IACC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EHRJ;AACF,C","sources":["webpack://bsb/./src/components/timelines/timeline-1/component.scss","webpack://bsb/./src/components/timelines/timeline-1/_utilities.scss","webpack://bsb/./src/lib/bootstrap/bootstrap-5.3.2/scss/mixins/_utilities.scss","webpack://bsb/./src/components/timelines/timeline-1/_bsb-component.scss","webpack://bsb/./src/lib/bootstrap/bootstrap-5.3.2/scss/mixins/_breakpoints.scss"],"sourcesContent":["/* stylelint-disable no-invalid-position-at-import-rule */\n\n// ===============\n// Custom.scss\n// Option B: Include parts of BSB + Bootstrap\n// https: //getbootstrap.com/docs/5.2/customize/sass/\n// ===============\n\n// Functions\n@import \"../../../lib/bootstrap/bootstrap-5.3.2/scss/functions\";\n\n// Variable Overrides\n//@import \"./variables\";\n@import \"../../../lib/bootstrap/bootstrap-5.3.2/scss/variables\";\n@import \"../../../lib/bootstrap/bootstrap-5.3.2/scss/variables-dark\";\n\n// BSB Variables (New / Overwrites / Marger)\n@import \"./bsb-variables\";\n\n// Map Overrides\n//@import \"./maps\";\n@import \"../../../lib/bootstrap/bootstrap-5.3.2/scss/maps\";\n\n// BSB Maps (New / Overwrites / Marger)\n//@import \"./bsb-maps\";\n\n// Mixins\n@import \"../../../lib/bootstrap/bootstrap-5.3.2/scss/mixins\";\n//@import \"./mixins/grid\";\n\n// Utilities Extension\n@import \"./utilities\";\n\n// Other Parts\n//@import \"./grid\";\n\n// Utilities API\n@import \"../../../lib/bootstrap/bootstrap-5.3.2/scss/utilities/api\";\n\n// BSB Extension\n@import \"./bsb-extension\";\n","/* stylelint-disable function-comma-space-after */\n/* stylelint-disable function-parentheses-space-inside */\n/* stylelint-disable scss/no-global-function-names */\n/* stylelint-disable indentation */\n// ===============\n// Utilities Client\n// ===============\n\n$utilities: () !default;\n$utilities: map-merge(\n  (\n    // Text\n    \"font-size\": (\n      rfs: true,\n      property: font-size,\n      class: fs,\n      values: $font-sizes\n    ),\n  ),\n  $utilities\n);\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n  $values: map-get($utility, values);\n\n  // If the values are a list or string, convert it into a map\n  @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n    $values: zip($values, $values);\n  }\n\n  @each $key, $value in $values {\n    $properties: map-get($utility, property);\n\n    // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n    @if type-of($properties) == \"string\" {\n      $properties: append((), $properties);\n    }\n\n    // Use custom class if present\n    $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n    $property-class: if($property-class == null, \"\", $property-class);\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n    // State params to generate pseudo-classes\n    $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n    $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n    @if map-get($utility, rfs) {\n      // Inside the media query\n      @if $is-rfs-media-query {\n        $val: rfs-value($value);\n\n        // Do not render anything if fluid and non fluid values are the same\n        $value: if($val == rfs-fluid-value($value), null, $val);\n      }\n      @else {\n        $value: rfs-fluid-value($value);\n      }\n    }\n\n    $is-css-var: map-get($utility, css-var);\n    $is-local-vars: map-get($utility, local-vars);\n    $is-rtl: map-get($utility, rtl);\n\n    @if $value != null {\n      @if $is-rtl == false {\n        /* rtl:begin:remove */\n      }\n\n      @if $is-css-var {\n        .#{$property-class + $infix + $property-class-modifier} {\n          --#{$prefix}#{$css-variable-name}: #{$value};\n        }\n\n        @each $pseudo in $state {\n          .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n            --#{$prefix}#{$css-variable-name}: #{$value};\n          }\n        }\n      } @else {\n        .#{$property-class + $infix + $property-class-modifier} {\n          @each $property in $properties {\n            @if $is-local-vars {\n              @each $local-var, $variable in $is-local-vars {\n                --#{$prefix}#{$local-var}: #{$variable};\n              }\n            }\n            #{$property}: $value if($enable-important-utilities, !important, null);\n          }\n        }\n\n        @each $pseudo in $state {\n          .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n            @each $property in $properties {\n              @if $is-local-vars {\n                @each $local-var, $variable in $is-local-vars {\n                  --#{$prefix}#{$local-var}: #{$variable};\n                }\n              }\n              #{$property}: $value if($enable-important-utilities, !important, null);\n            }\n          }\n        }\n      }\n\n      @if $is-rtl == false {\n        /* rtl:end:remove */\n      }\n    }\n  }\n}\n","// ===============\n// BSB Component\n// ===============\n\n.bsb-timeline-1 {\n\t--bsb-tl-color: var(--bs-primary-bg-subtle);\n\t--bsb-tl-circle-color: var(--bs-light);\n\t--bsb-tl-circle-border-color: var(--bs-primary);\n\t--bsb-tl-indicator-color: var(--bs-white);\n\t--bsb-tl-circle-size: 16px;\n\t--bsb-tl-circle-offset: 8px;\n\t--bsb-tl-circle-border-size: 2px;\n\n\t.timeline {\n\t\tposition: relative;\n\t\tlist-style: none;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\n\t\t&::after {\n\t\t\tcontent: \"\";\n\t\t\tposition: absolute;\n\t\t\twidth: 2px;\n\t\t\tbackground-color: var(--bsb-tl-color);\n\t\t\ttop: 0;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t\tmargin-left: -1px;\n\n\t\t\t@include media-breakpoint-up(md) {\n\t\t\t\tleft: 33%;\n\t\t\t}\n\t\t}\n\n\t\t> .timeline-item {\n\t\t\tposition: relative;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\n\t\t\t&::after {\n\t\t\t\tcontent: \"\";\n\t\t\t\tposition: absolute;\n\t\t\t\twidth: var(--bsb-tl-circle-size);\n\t\t\t\theight: var(--bsb-tl-circle-size);\n\t\t\t\ttop: calc(50% - var(--bsb-tl-circle-offset));\n\t\t\t\tleft: calc(var(--bsb-tl-circle-offset) * -1);\n\t\t\t\tbackground: var(--bsb-tl-circle-color);\n\t\t\t\tborder: var(--bsb-tl-circle-border-size) solid var(--bsb-tl-circle-border-color);\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t.timeline-body {\n\t\t\t\tposition: relative;\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\n\t\t\t.timeline-meta {\n\t\t\t\tpadding: 0 0 1rem 2rem;\n\t\t\t}\n\n\t\t\t&:first-child {\n\n\t\t\t\t.timeline-meta {\n\t\t\t\t\tpadding: 2rem 0 1rem 2rem;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.timeline-content {\n\t\t\t\tpadding: 0 0 2rem 2rem;\n\t\t\t}\n\n\t\t\t@include media-breakpoint-up(md) {\n\t\t\t\twidth: 67%;\n\t\t\t\tleft: 33%;\n\n\t\t\t\t.timeline-meta {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: calc(50% - 10px);\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tjustify-content: flex-end;\n\t\t\t\t\tleft: -100%;\n\t\t\t\t\tpadding: 0 2rem 0 0;\n\t\t\t\t\tz-index: 1;\n\t\t\t\t}\n\n\t\t\t\t&:first-child {\n\n\t\t\t\t\t.timeline-meta {\n\t\t\t\t\t\tpadding: 0 2rem 0 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.timeline-content {\n\t\t\t\t\tpadding: 2rem;\n\t\t\t\t}\n\n\t\t\t\t.timeline-indicator {\n\t\t\t\t\tposition: relative;\n\n\t\t\t\t\t&::after {\n\t\t\t\t\t\tcontent: \"\";\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\ttop: calc(50% - var(--bsb-tl-circle-offset));\n\t\t\t\t\t\tleft: calc(2rem - 10px);\n\t\t\t\t\t\tborder: 1px solid var(--bsb-tl-indicator-color);\n\t\t\t\t\t\tborder-width: 10px 10px 10px 0;\n\t\t\t\t\t\tborder-color: transparent var(--bsb-tl-indicator-color) transparent transparent;\n\t\t\t\t\t\tz-index: 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n  $n: index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n  }\n  @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map-get($breakpoints, $name);\n  @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n//    >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  $max: map-get($breakpoints, $name);\n  @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (min-width: $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (max-width: $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n"],"names":[],"sourceRoot":""}