// Typography helpers /* stylelint-disable declaration-property-unit-allowed-list */ // Helper mixin for self-hosted fonts @mixin fontFace($family, $src, $weight: normal, $style: normal) { @font-face { // @link https://css-tricks.com/almanac/properties/f/font-display/ font-display: auto; font-family: $family; font-style: $style; font-weight: $weight; // Slightly Deeper Browser Support // @source https://css-tricks.com/snippets/css/using-font-face/#slightly-deeper-browser-support src: url('#{$src}.woff') format('woff'), url('#{$src}.woff2') format('woff2'), url('#{$src}.ttf') format('truetype'); } } // Responsive fonts @mixin responsive-font($min-font-size, $max-font-size, $min-vw: 320px, $max-vw: 1920px) { $u1: unit($min-vw); $u2: unit($max-vw); $u3: unit($min-font-size); $u4: unit($max-font-size); @if $u1 == $u2 and $u1 == $u3 and $u1 == $u4 { font-size: $min-font-size; @media screen and (min-width: $min-vw) { font-size: calc(#{$min-font-size} + #{strip-unit($max-font-size - $min-font-size)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})); } @media screen and (min-width: $max-vw) { font-size: $max-font-size; } } } /* stylelint-enable declaration-property-unit-allowed-list */