123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- /**
- * Responsive breakpoints
- * - breakpoints values are defined in _config-global.scss
- */
- @mixin media( $res ) {
- @if mobile-only == $res {
- @media only screen and (max-width: #{map-deep-get($config-global, "breakpoint", "sm") - 1}) {
- @content;
- }
- }
- @if mobile == $res {
- @media only screen and (min-width: map-deep-get($config-global, "breakpoint", "sm")) {
- @content;
- }
- }
- @if tablet == $res {
- @media only screen and (min-width: map-deep-get($config-global, "breakpoint", "md")) {
- @content;
- }
- }
- @if laptop == $res {
- @media only screen and (min-width: map-deep-get($config-global, "breakpoint", "lg")) {
- @content;
- }
- }
- @if desktop == $res {
- @media only screen and (min-width: map-deep-get($config-global, "breakpoint", "xl")) {
- @content;
- }
- }
- @if wide == $res {
- @media only screen and (min-width: map-deep-get($config-global, "breakpoint", "xxl")) {
- @content;
- }
- }
- }
- /**
- * Align wide widths
- * - Sets .alignwide widths
- */
- @mixin alignwide-width( $width: 100%, $multiplier...) {
- @if length($multiplier) == 0 {
- $multiplier: (8 * map-deep-get($config-global, "spacing", "horizontal"));
- }
- width: calc(#{$width} + #{2 * $multiplier});
- max-width: calc(100% - #{2 * map-deep-get($config-global, "spacing", "horizontal")});
- }
- @mixin alignwide-width-nested( $width: 100%, $multiplier...) {
- @if length($multiplier) == 0 {
- $multiplier: (8 * map-deep-get($config-global, "spacing", "horizontal"));
- }
- width: calc(#{$width} + #{2 * $multiplier});
- max-width: 100%;
- }
- /**
- * Crop Text Boundry
- * - Sets a fixed-width on content within alignwide and alignfull blocks
- */
- @mixin crop-text($inset-line-height: 1) {
- line-height: $inset-line-height;
- $offset-top: (.5em * $inset-line-height + -.38);
- $offset-bottom: (.5em * $inset-line-height + -.39);
- &:before,
- &:after {
- content: '';
- display: block;
- height: 0;
- width: 0;
- }
- &:before {
- margin-bottom: -($offset-top);
- }
- &:after {
- margin-top: -($offset-bottom);
- }
- }
- /**
- * Add font-family using CSS variables.
- * It also adds the proper fallback for browsers without support.
- */
- @mixin font-family( $config_map ) {
- font-family: #{map-deep-get( $config_map, 'fallback' )}; // For browsers without CSS custom properties support.
- font-family: var( #{map-deep-get( $config_map, 'css-var')}, #{map-deep-get( $config_map, 'fallback' )} );
- }
|