{"version":3,"sources":["lsx-banners.scss","_include-media.scss","_customizer-banners-banner-colours.scss"],"names":[],"mappings":"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","file":"../lsx-banners.css","sourcesContent":["@import 'include-media';\n@import 'customizer-banners-banner-colours';\n\n@keyframes bounce {\n    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }\n    40% { transform: translateY(-20px); }\n    60% { transform: translateY(-10px); }\n}\n\n/*\n * LSX banners\n */\n\n%video-embed {\n\t@include media('>=tablet') {\n\t\theight: 100%;\n\t\tleft: 0;\n\t\tpointer-events: none;\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\twidth: 100%;\n\t}\n}\n\n#lsx-banner {\n\tposition: relative;\n\n\t.page-header { text-align: center; }\n\n\t.page-has-banner-full & {\n\t\t@include media ('>=tablet') {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1;\n\t\t}\n\t}\n\n\t.tagline { font-size: 20px; }\n\n\t.video-background {\n\t\tdisplay: none;\n\n\t\t@include media('>=tablet') {\n\t\t\tbackground-color: #000;\n\t\t\tbottom: 0;\n\t\t\tdisplay: block;\n\t\t\tleft: 0;\n\t\t\toverflow: hidden;\n\t\t\tposition: absolute;\n\t\t\tright: 0;\n\t\t\ttop: 0;\n\t\t\tz-index: 3;\n\t\t}\n\n\t\tvideo {\n\t\t\t@extend %video-embed;\n\t\t}\n\t}\n\n\t.video-foreground {\n\t\t@extend %video-embed;\n\n\t\t@include media('>=tablet') {\n\t\t\theight: 300%;\n\t\t\ttop: -100%;\n\t\t}\n\t}\n\n\t& + .wrap {\n\t\t& > .content {\n\t\t\t& > header.archive-header { display: none; }\n\t\t}\n\t}\n\n\t#page-banner-slider {\n\t\t.container {\n\t\t\t@include media('<phone') { margin-bottom: 100px; }\n\t\t}\n\n\t\t.slick-dots {\n\t\t\talign-items: center;\n\t\t\tbottom: 20px;\n\t\t\tdisplay: flex;\n\t\t\tflex-flow: row wrap;\n\t\t\tleft: 0;\n\t\t\theight: auto;\n\t\t\tjustify-content: center;\n\t\t\tlist-style: none;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tposition: absolute;\n\t\t\tright: 0;\n\n\t\t\t& > li {\n\t\t\t\tpadding: 5px;\n\t\t\t\tline-height: 1;\n\n\t\t\t\t@include media('>=tablet') { padding: 0 7.5px; }\n\n\t\t\t\t& > button {\n\t\t\t\t\tbackground: transparent;\n\t\t\t\t\tborder-style: solid;\n\t\t\t\t\tborder-width: 1px;\n\t\t\t\t\tfont: 0/0 a;\n\t\t\t\t\theight: 12px;\n\t\t\t\t\ttransition: all 300ms ease-in-out;\n\t\t\t\t\twidth: 4rem;\n\n\t\t\t\t\t@include media('>=tablet') { height: 6px; }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.slick-arrow {\n\t\t\tbackground: transparent;\n\t\t\tborder-radius: 50%;\n\t\t\tborder-style: solid;\n\t\t\tborder-width: 2px;\n\t\t\tfont: 0/0 a;\n\t\t\theight: 4rem;\n\t\t\tmargin-top: calc((2rem - 17px) / 2);\n\t\t\topacity: 1;\n\t\t\tpadding: 0;\n\t\t\tposition: absolute;\n\t\t\ttext-shadow: none;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\t\t\ttransition: border 300ms ease;\n\t\t\twidth: 4rem;\n\t\t\tz-index: 3;\n\n\t\t\t&:before {\n\t\t\t\tdisplay: block;\n\t\t\t\tfont-family: 'FontAwesome';\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: absolute;\n\t\t\t\ttext-rendering: auto;\n\t\t\t\ttop: 47%;\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\ttransition: color 300ms ease;\n\n\t\t\t\t-webkit-font-smoothing: antialiased;\n\t\t\t\t-moz-osx-font-smoothing: grayscale;\n\t\t\t}\n\n\t\t\t&.slick-disabled { cursor: not-allowed; }\n\n\t\t\t&.slick-prev {\n\t\t\t\tleft: 3rem;\n\n\t\t\t\t&:before {\n\t\t\t\t\tcontent: '\\f104';\n\t\t\t\t\tleft: 1.1rem;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.slick-next {\n\t\t\t\tright: 3rem;\n\n\t\t\t\t&:before {\n\t\t\t\t\tcontent: '\\f105';\n\t\t\t\t\tleft: 1.5rem;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// .banner-easing {\n\t// \t@include media('>=desktop') {\n\t// \t\tbottom: 30px;\n\t// \t\tleft: 50%;\n\t// \t\tposition: absolute;\n\t// \t\ttransform: translateX(-50%);\n\t// \t}\n\t// }\n\n\t.btn-scroll-to {\n\t\tborder: 2px solid transparent;\n\t\tborder-radius: 50%;\n\t\tdisplay: inline-block;\n\t\tfont-size: 37px;\n\t\tline-height: 1;\n\t\tpadding: 5px 0;\n\t\tmargin-top: 2rem;\n\t\twidth: 54px;\n\n\t\t&:focus { outline: 0; }\n\n\t\t@include media('>=desktop') {\n\t\t\tanimation: bounce 2s 4s infinite;\n\n\t\t\t&:hover { animation-play-state: paused; }\n\t\t}\n\t}\n\n\t.lsx-banners-logo {\n\t\tdisplay: inline-block;\n\t\tmargin-bottom: 2.4rem;\n\n\t\t& + .banner-content { margin-top: 0; }\n\t}\n\n\t.page-banner-no-mask {\n\t\t.page-banner {\n\t\t\t& > .page-banner-image {\n\t\t\t\t&:after { display: none; }\n\t\t\t}\n\t\t}\n\t}\n}\n\n.gutenberg-compatible-template.page-has-banner,\n.using-gutenberg.page-has-banner,\n.archive.page-has-banner  {\n\t.breadcrumbs-container {\n\t\t+ #lsx-banner {\n\t\t\t@include media('<=tablet') {\n\t\t\t\tmargin-top: 50px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n@include customizer-banners-banner-colours(#FFF);\n","@charset \"UTF-8\";\n\n//     _            _           _                           _ _\n//    (_)          | |         | |                         | (_)\n//     _ _ __   ___| |_   _  __| | ___   _ __ ___   ___  __| |_  __ _\n//    | | '_ \\ / __| | | | |/ _` |/ _ \\ | '_ ` _ \\ / _ \\/ _` | |/ _` |\n//    | | | | | (__| | |_| | (_| |  __/ | | | | | |  __/ (_| | | (_| |\n//    |_|_| |_|\\___|_|\\__,_|\\__,_|\\___| |_| |_| |_|\\___|\\__,_|_|\\__,_|\n//\n//      Simple, elegant and maintainable media queries in Sass\n//                        v1.4.9\n//\n//                http://include-media.com\n//\n//         Authors: Eduardo Boucas (@eduardoboucas)\n//                  Hugo Giraudel (@hugogiraudel)\n//\n//      This project is licensed under the terms of the MIT license\n\n\n////\n/// include-media library public configuration\n/// @author Eduardo Boucas\n/// @access public\n////\n\n\n///\n/// Creates a list of global breakpoints\n///\n/// @example scss - Creates a single breakpoint with the label `phone`\n///  $breakpoints: ('phone': 320px);\n///\n$breakpoints: (\n  'phone': 768px,\n  'tablet': 992px,\n  'desktop': 1200px\n) !default;\n\n\n///\n/// Creates a list of static expressions or media types\n///\n/// @example scss - Creates a single media type (screen)\n///  $media-expressions: ('screen': 'screen');\n///\n/// @example scss - Creates a static expression with logical disjunction (OR operator)\n///  $media-expressions: (\n///    'retina2x': '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)'\n///  );\n///\n$media-expressions: (\n  'screen': 'screen',\n  'print': 'print',\n  'handheld': 'handheld',\n  'landscape': '(orientation: landscape)',\n  'portrait': '(orientation: portrait)',\n  'retina2x': '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx)',\n  'retina3x': '(-webkit-min-device-pixel-ratio: 3), (min-resolution: 350dpi), (min-resolution: 3dppx)'\n) !default;\n\n\n///\n/// Defines a number to be added or subtracted from each unit when declaring breakpoints with exclusive intervals\n///\n/// @example scss - Interval for pixels is defined as `1` by default\n///  @include media('>128px') {}\n///\n///  /* Generates: */\n///  @media (min-width: 129px) {}\n///\n/// @example scss - Interval for ems is defined as `0.01` by default\n///  @include media('>20em') {}\n///\n///  /* Generates: */\n///  @media (min-width: 20.01em) {}\n///\n/// @example scss - Interval for rems is defined as `0.1` by default, to be used with `font-size: 62.5%;`\n///  @include media('>2.0rem') {}\n///\n///  /* Generates: */\n///  @media (min-width: 2.1rem) {}\n///\n$unit-intervals: (\n  'px': 1,\n  'em': 0.01,\n  'rem': 0.1,\n  '': 0\n) !default;\n\n///\n/// Defines whether support for media queries is available, useful for creating separate stylesheets\n/// for browsers that don't support media queries.\n///\n/// @example scss - Disables support for media queries\n///  $im-media-support: false;\n///  @include media('>=tablet') {\n///    .foo {\n///      color: tomato;\n///    }\n///  }\n///\n///  /* Generates: */\n///  .foo {\n///    color: tomato;\n///  }\n///\n$im-media-support: true !default;\n\n///\n/// Selects which breakpoint to emulate when support for media queries is disabled. Media queries that start at or\n/// intercept the breakpoint will be displayed, any others will be ignored.\n///\n/// @example scss - This media query will show because it intercepts the static breakpoint\n///  $im-media-support: false;\n///  $im-no-media-breakpoint: 'desktop';\n///  @include media('>=tablet') {\n///    .foo {\n///      color: tomato;\n///    }\n///  }\n///\n///  /* Generates: */\n///  .foo {\n///    color: tomato;\n///  }\n///\n/// @example scss - This media query will NOT show because it does not intercept the desktop breakpoint\n///  $im-media-support: false;\n///  $im-no-media-breakpoint: 'tablet';\n///  @include media('>=desktop') {\n///    .foo {\n///      color: tomato;\n///    }\n///  }\n///\n///  /* No output */\n///\n$im-no-media-breakpoint: 'desktop' !default;\n\n///\n/// Selects which media expressions are allowed in an expression for it to be used when media queries\n/// are not supported.\n///\n/// @example scss - This media query will show because it intercepts the static breakpoint and contains only accepted media expressions\n///  $im-media-support: false;\n///  $im-no-media-breakpoint: 'desktop';\n///  $im-no-media-expressions: ('screen');\n///  @include media('>=tablet', 'screen') {\n///    .foo {\n///      color: tomato;\n///    }\n///  }\n///\n///   /* Generates: */\n///   .foo {\n///     color: tomato;\n///   }\n///\n/// @example scss - This media query will NOT show because it intercepts the static breakpoint but contains a media expression that is not accepted\n///  $im-media-support: false;\n///  $im-no-media-breakpoint: 'desktop';\n///  $im-no-media-expressions: ('screen');\n///  @include media('>=tablet', 'retina2x') {\n///    .foo {\n///      color: tomato;\n///    }\n///  }\n///\n///  /* No output */\n///\n$im-no-media-expressions: ('screen', 'portrait', 'landscape') !default;\n\n////\n/// Cross-engine logging engine\n/// @author Hugo Giraudel\n/// @access private\n////\n\n\n///\n/// Log a message either with `@error` if supported\n/// else with `@warn`, using `feature-exists('at-error')`\n/// to detect support.\n///\n/// @param {String} $message - Message to log\n///\n@function im-log($message) {\n  @if feature-exists('at-error') {\n    @error $message;\n  } @else {\n    @warn $message;\n    $_: noop();\n  }\n\n  @return $message;\n}\n\n\n///\n/// Wrapper mixin for the log function so it can be used with a more friendly\n/// API than `@if im-log('..') {}` or `$_: im-log('..')`. Basically, use the function\n/// within functions because it is not possible to include a mixin in a function\n/// and use the mixin everywhere else because it's much more elegant.\n///\n/// @param {String} $message - Message to log\n///\n@mixin log($message) {\n  @if im-log($message) {}\n}\n\n\n///\n/// Function with no `@return` called next to `@warn` in Sass 3.3\n/// to trigger a compiling error and stop the process.\n///\n@function noop() {}\n\n///\n/// Determines whether a list of conditions is intercepted by the static breakpoint.\n///\n/// @param {Arglist}   $conditions  - Media query conditions\n///\n/// @return {Boolean} - Returns true if the conditions are intercepted by the static breakpoint\n///\n@function im-intercepts-static-breakpoint($conditions...) {\n  $no-media-breakpoint-value: map-get($breakpoints, $im-no-media-breakpoint);\n\n  @if not $no-media-breakpoint-value {\n    @if im-log('`#{$im-no-media-breakpoint}` is not a valid breakpoint.') {}\n  }\n\n  @each $condition in $conditions {\n    @if not map-has-key($media-expressions, $condition) {\n      $operator: get-expression-operator($condition);\n      $prefix: get-expression-prefix($operator);\n      $value: get-expression-value($condition, $operator);\n\n      @if ($prefix == 'max' and $value <= $no-media-breakpoint-value) or\n          ($prefix == 'min' and $value > $no-media-breakpoint-value) {\n        @return false;\n      }\n    } @else if not index($im-no-media-expressions, $condition) {\n      @return false;\n    }\n  }\n\n  @return true;\n}\n\n////\n/// Parsing engine\n/// @author Hugo Giraudel\n/// @access private\n////\n\n\n///\n/// Get operator of an expression\n///\n/// @param {String} $expression - Expression to extract operator from\n///\n/// @return {String} - Any of `>=`, `>`, `<=`, `<`, `≥`, `≤`\n///\n@function get-expression-operator($expression) {\n  @each $operator in ('>=', '>', '<=', '<', '≥', '≤') {\n    @if str-index($expression, $operator) {\n      @return $operator;\n    }\n  }\n\n  // It is not possible to include a mixin inside a function, so we have to\n  // rely on the `im-log(..)` function rather than the `log(..)` mixin. Because\n  // functions cannot be called anywhere in Sass, we need to hack the call in\n  // a dummy variable, such as `$_`. If anybody ever raise a scoping issue with\n  // Sass 3.3, change this line in `@if im-log(..) {}` instead.\n  $_: im-log('No operator found in `#{$expression}`.');\n}\n\n\n///\n/// Get dimension of an expression, based on a found operator\n///\n/// @param {String} $expression - Expression to extract dimension from\n/// @param {String} $operator - Operator from `$expression`\n///\n/// @return {String} - `width` or `height` (or potentially anything else)\n///\n@function get-expression-dimension($expression, $operator) {\n  $operator-index: str-index($expression, $operator);\n  $parsed-dimension: str-slice($expression, 0, $operator-index - 1);\n  $dimension: 'width';\n\n  @if str-length($parsed-dimension) > 0 {\n    $dimension: $parsed-dimension;\n  }\n\n  @return $dimension;\n}\n\n\n///\n/// Get dimension prefix based on an operator\n///\n/// @param {String} $operator - Operator\n///\n/// @return {String} - `min` or `max`\n///\n@function get-expression-prefix($operator) {\n  @return if(index(('<', '<=', '≤'), $operator), 'max', 'min');\n}\n\n\n///\n/// Get value of an expression, based on a found operator\n///\n/// @param {String} $expression - Expression to extract value from\n/// @param {String} $operator - Operator from `$expression`\n///\n/// @return {Number} - A numeric value\n///\n@function get-expression-value($expression, $operator) {\n  $operator-index: str-index($expression, $operator);\n  $value: str-slice($expression, $operator-index + str-length($operator));\n\n  @if map-has-key($breakpoints, $value) {\n    $value: map-get($breakpoints, $value);\n  } @else {\n    $value: to-number($value);\n  }\n\n  $interval: map-get($unit-intervals, unit($value));\n\n  @if not $interval {\n    // It is not possible to include a mixin inside a function, so we have to\n    // rely on the `im-log(..)` function rather than the `log(..)` mixin. Because\n    // functions cannot be called anywhere in Sass, we need to hack the call in\n    // a dummy variable, such as `$_`. If anybody ever raise a scoping issue with\n    // Sass 3.3, change this line in `@if im-log(..) {}` instead.\n    $_: im-log('Unknown unit `#{unit($value)}`.');\n  }\n\n  @if $operator == '>' {\n    $value: $value + $interval;\n  } @else if $operator == '<' {\n    $value: $value - $interval;\n  }\n\n  @return $value;\n}\n\n\n///\n/// Parse an expression to return a valid media-query expression\n///\n/// @param {String} $expression - Expression to parse\n///\n/// @return {String} - Valid media query\n///\n@function parse-expression($expression) {\n  // If it is part of $media-expressions, it has no operator\n  // then there is no need to go any further, just return the value\n  @if map-has-key($media-expressions, $expression) {\n    @return map-get($media-expressions, $expression);\n  }\n\n  $operator: get-expression-operator($expression);\n  $dimension: get-expression-dimension($expression, $operator);\n  $prefix: get-expression-prefix($operator);\n  $value: get-expression-value($expression, $operator);\n\n  @return '(#{$prefix}-#{$dimension}: #{$value})';\n}\n\n///\n/// Slice `$list` between `$start` and `$end` indexes\n///\n/// @access private\n///\n/// @param {List} $list - List to slice\n/// @param {Number} $start [1] - Start index\n/// @param {Number} $end [length($list)] - End index\n///\n/// @return {List} Sliced list\n///\n@function slice($list, $start: 1, $end: length($list)) {\n  @if length($list) < 1 or $start > $end {\n    @return ();\n  }\n\n  $result: ();\n\n  @for $i from $start through $end {\n    $result: append($result, nth($list, $i));\n  }\n\n  @return $result;\n}\n\n////\n/// String to number converter\n/// @author Hugo Giraudel\n/// @access private\n////\n\n\n///\n/// Casts a string into a number\n///\n/// @param {String | Number} $value - Value to be parsed\n///\n/// @return {Number}\n///\n@function to-number($value) {\n  @if type-of($value) == 'number' {\n    @return $value;\n  } @else if type-of($value) != 'string' {\n    $_: im-log('Value for `to-number` should be a number or a string.');\n  }\n\n  $first-character: str-slice($value, 1, 1);\n  $result: 0;\n  $digits: 0;\n  $minus: ($first-character == '-');\n  $numbers: ('0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9);\n\n  // Remove +/- sign if present at first character\n  @if ($first-character == '+' or $first-character == '-') {\n    $value: str-slice($value, 2);\n  }\n\n  @for $i from 1 through str-length($value) {\n    $character: str-slice($value, $i, $i);\n\n    @if not (index(map-keys($numbers), $character) or $character == '.') {\n      @return to-length(if($minus, -$result, $result), str-slice($value, $i))\n    }\n\n    @if $character == '.' {\n      $digits: 1;\n    } @else if $digits == 0 {\n      $result: $result * 10 + map-get($numbers, $character);\n    } @else {\n      $digits: $digits * 10;\n      $result: $result + map-get($numbers, $character) / $digits;\n    }\n  }\n\n  @return if($minus, -$result, $result);\n}\n\n\n///\n/// Add `$unit` to `$value`\n///\n/// @param {Number} $value - Value to add unit to\n/// @param {String} $unit - String representation of the unit\n///\n/// @return {Number} - `$value` expressed in `$unit`\n///\n@function to-length($value, $unit) {\n  $units: ('px': 1px, 'cm': 1cm, 'mm': 1mm, '%': 1%, 'ch': 1ch, 'pc': 1pc, 'in': 1in, 'em': 1em, 'rem': 1rem, 'pt': 1pt, 'ex': 1ex, 'vw': 1vw, 'vh': 1vh, 'vmin': 1vmin, 'vmax': 1vmax);\n\n  @if not index(map-keys($units), $unit) {\n    $_: im-log('Invalid unit `#{$unit}`.');\n  }\n\n  @return $value * map-get($units, $unit);\n}\n\n///\n/// This mixin aims at redefining the configuration just for the scope of\n/// the call. It is helpful when having a component needing an extended\n/// configuration such as custom breakpoints (referred to as tweakpoints)\n/// for instance.\n///\n/// @author Hugo Giraudel\n///\n/// @param {Map} $tweakpoints [()] - Map of tweakpoints to be merged with `$breakpoints`\n/// @param {Map} $tweak-media-expressions [()] - Map of tweaked media expressions to be merged with `$media-expression`\n///\n/// @example scss - Extend the global breakpoints with a tweakpoint\n///  @include media-context(('custom': 678px)) {\n///    .foo {\n///      @include media('>phone', '<=custom') {\n///       // ...\n///      }\n///    }\n///  }\n///\n/// @example scss - Extend the global media expressions with a custom one\n///  @include media-context($tweak-media-expressions: ('all': 'all')) {\n///    .foo {\n///      @include media('all', '>phone') {\n///       // ...\n///      }\n///    }\n///  }\n///\n/// @example scss - Extend both configuration maps\n///  @include media-context(('custom': 678px), ('all': 'all')) {\n///    .foo {\n///      @include media('all', '>phone', '<=custom') {\n///       // ...\n///      }\n///    }\n///  }\n///\n@mixin media-context($tweakpoints: (), $tweak-media-expressions: ()) {\n  // Save global configuration\n  $global-breakpoints: $breakpoints;\n  $global-media-expressions: $media-expressions;\n\n  // Update global configuration\n  $breakpoints: map-merge($breakpoints, $tweakpoints) !global;\n  $media-expressions: map-merge($media-expressions, $tweak-media-expressions) !global;\n\n  @content;\n\n  // Restore global configuration\n  $breakpoints: $global-breakpoints !global;\n  $media-expressions: $global-media-expressions !global;\n}\n\n////\n/// include-media public exposed API\n/// @author Eduardo Boucas\n/// @access public\n////\n\n\n///\n/// Generates a media query based on a list of conditions\n///\n/// @param {Arglist}   $conditions  - Media query conditions\n///\n/// @example scss - With a single set breakpoint\n///  @include media('>phone') { }\n///\n/// @example scss - With two set breakpoints\n///  @include media('>phone', '<=tablet') { }\n///\n/// @example scss - With custom values\n///  @include media('>=358px', '<850px') { }\n///\n/// @example scss - With set breakpoints with custom values\n///  @include media('>desktop', '<=1350px') { }\n///\n/// @example scss - With a static expression\n///  @include media('retina2x') { }\n///\n/// @example scss - Mixing everything\n///  @include media('>=350px', '<tablet', 'retina3x') { }\n///\n@mixin media($conditions...) {\n  @if ($im-media-support and length($conditions) == 0) or\n      (not $im-media-support and im-intercepts-static-breakpoint($conditions...)) {\n    @content;\n  } @else if ($im-media-support and length($conditions) > 0) {\n    @media #{unquote(parse-expression(nth($conditions, 1)))} {\n      // Recursive call\n      @include media(slice($conditions, 2)...) {\n        @content;\n      }\n    }\n  }\n}\n","@mixin customizer-banners-banner-colours ($color: #FFF) {\n\t#lsx-banner {\n\t\t.page-banner { color: $color; }\n\n\t\t#page-banner-slider {\n\t\t\t.slick-dots {\n\t\t\t\t& > li {\n\t\t\t\t\t& > button { border-color: $color; }\n\n\t\t\t\t\t&.slick-active > button { background-color: $color; }\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.slick-arrow {\n\t\t\t\tborder-color: $color;\n\t\t\t\tcolor: $color;\n\n\t\t\t\t&:hover {\n\t\t\t\t\tborder-color: $color;\n\t\t\t\t\tcolor: $color;\n\t\t\t\t}\n\n\t\t\t\t&.slick-disabled {\n\t\t\t\t\tborder-color: $color;\n\t\t\t\t\tcolor: $color;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.btn-scroll-to {\n\t\t\tborder-color: $color;\n\t\t\tcolor: $color;\n\t\t}\n\t}\n}\n"]}