/*----------------- 3.2 Responsive Media Queries -----------------*/ // A map of breakpoints. $breakpoints: ( xs: 320px, // Adjusted for extra small screens ssm: 576px, // Adjusted for small screens sm: 768px, //check sm 767 md: 992px, //check md 992 lg: 1200px, // Adjusted for large screens xl: 1400px, // Adjusted for extra large screens xlg: 1500px, xxlg: 1920px, // Adjusted for extra extra large screens ); // RESPOND ABOVE //–––––––––––––––––––––––––––––––––––––––––––––––––– // @include respond-above(sm) {} @mixin respond-above($breakpoint) { // If the breakpoint exists in the map. @if map-has-key($breakpoints, $breakpoint) { // Get the breakpoint value. $breakpoint-value: map-get($breakpoints, $breakpoint); // Write the media query. @media (min-width: $breakpoint-value) { @content; } // If the breakpoint doesn't exist in the map. } @else { // Log a warning. @warn 'Invalid breakpoint: #{$breakpoint}.'; } } /** @include respond-above(sm) { .element { font-weight: bold; } } @media (min-width: 768px) { .element { font-weight: bold; } } **/ // RESPOND BELOW //–––––––––––––––––––––––––––––––––––––––––––––––––– // @include respond-below(sm) {} @mixin respond-below($breakpoint) { // If the breakpoint exists in the map. @if map-has-key($breakpoints, $breakpoint) { // Get the breakpoint value. $breakpoint-value: map-get($breakpoints, $breakpoint); // Write the media query. @media (max-width: ($breakpoint-value - 1)) { @content; } // If the breakpoint doesn't exist in the map. } @else { // Log a warning. @warn 'Invalid breakpoint: #{$breakpoint}.'; } } /** @include respond-below(lg) { .element { font-weight: bold; } } @media (max-width: 767px) { .element { font-weight: bold; } } **/ // RESPOND BETWEEN //–––––––––––––––––––––––––––––––––––––––––––––––––– // @include respond-between(sm, md) {} @mixin respond-between($lower, $upper) { // If both the lower and upper breakpoints exist in the map. @if map-has-key($breakpoints, $lower) and map-has-key($breakpoints, $upper) { // Get the lower and upper breakpoints. $lower-breakpoint: map-get($breakpoints, $lower); $upper-breakpoint: map-get($breakpoints, $upper); // Write the media query. @media (min-width: $lower-breakpoint) and (max-width: ($upper-breakpoint - 1)) { @content; } // If one or both of the breakpoints don't exist. } @else { // If lower breakpoint is invalid. @if (map-has-key($breakpoints, $lower) == false) { // Log a warning. @warn 'Your lower breakpoint was invalid: #{$lower}.'; } // If upper breakpoint is invalid. @if (map-has-key($breakpoints, $upper) == false) { // Log a warning. @warn 'Your upper breakpoint was invalid: #{$upper}.'; } } } /** @include respond-between(sm, md) { .element { font-weight: bold; } } @media (min-width: 768px) and (max-width: 991px) { .element { font-weight: bold; } } **/