// ---- // Sass (vundefined) // Compass (vundefined) // dart-sass (v1.6.2) // ---- // ============================================================================= // // PRECISE CONTROL OVER RESPONSIVE TYPOGRAPHY FOR SASS // --------------------------------------------------- // Indrek Paas @indrekpaas // // Inspired by Mike Riethmuller's Precise control over responsive typography // https://www.madebymike.com.au/writing/precise-control-responsive-typography/ // // Borrowed `strip-unit` function from Hugo Giraudel // https://css-tricks.com/snippets/sass/strip-unit-function/ // // 02.04.2018 Remove `screen` keyword from media queries // 11.08.2016 Remove redundant `&` self-reference // 31.03.2016 Remove redundant parenthesis from output // 02.10.2015 Add support for multiple properties // 24.04.2015 Initial release // // ============================================================================= @mixin fluid-type($properties, $min-vw, $max-vw, $min-value, $max-value) { @each $property in $properties { #{$property}: $min-value; } @media (min-width: $min-vw) { @each $property in $properties { #{$property}: calc(#{$min-value} + #{strip-unit($max-value - $min-value)} * (100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}); } } @media (min-width: $max-vw) { @each $property in $properties { #{$property}: $max-value; } } } @function strip-unit($number) { @if type-of($number)=="number"and not unitless($number) { @return $number / ($number * 0 + 1); } @return $number; } @mixin hover-focus() { &:hover, &:focus { @content; } } @mixin badge-variant($bg) { color: color-contrast($bg); background-color: $bg; @at-root a#{&} { @include hover-focus() { color: color-contrast($bg); background-color: darken($bg, 10%); } &:focus, &.focus { outline: 0; box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5); } } }