@function theme-color-lighter($color, $transparent: false) { @if ($transparent) { @return rgba($color, .05); } @else { @return tint-color($color, 5%); } } @function theme-color-darker($color) { @return shade-color($color, 10%); } @function theme-colors($social: true) { $colors: $theme-colors; @if $enable-extra-colors { $colors: map-merge($colors, $extra-colors); } @if ($enable-social-colors and $social) { $colors: map-merge($colors, $social-colors); } @return $colors; } @function str-replace($string, $search, $replace: "") { $index: str-index($string, $search); @if $index { @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace); } @return $string; } @mixin media-breakpoint-down-than($name, $breakpoints: $grid-breakpoints) { $prev: breakpoint-prev($name); @if $prev == null { @content; } @else { $max: breakpoint-max($prev, $breakpoints); @if $max { @media (max-width: $max) { @content; } } @else { @content; } } } @function breakpoint-prev($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) { $n: index($breakpoint-names, $name); @if not $n { @error "breakpoint `#{$name}` not found in `#{$breakpoints}`"; } @return if($n > 1, nth($breakpoint-names, $n - 1), null); }