| Linux webm010.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 Path : /home/c/u/i/cuisinesj/www/new/wp-content/themes/auberge/assets/sass/starter/tools/ |
| Current File : /home/c/u/i/cuisinesj/www/new/wp-content/themes/auberge/assets/sass/starter/tools/_mixins.scss |
/////////////////////
//
// Mixins
//
/////////////////////
//
// Vendor Imports
//
//
// @link http://instyle-css.salsitasoft.com/
// @link https://css-tricks.com/instyle-current-selector-sass/
//
@import 'vendor/instyle';
//
// Responsive media query
//
// Avoid using rem unit in media queries as WebKit seems to ignore them or behave
// strangely (uses 16px base font size no matter what font-size is set up on html).
// @link http://stackoverflow.com/questions/12201003/media-queries-with-rem-units-in-chrome
//
// @link https://css-tricks.com/snippets/css/media-queries-for-standard-devices/
//
// @param string $width Breakpoint width in px
// @param string $property What CSS property to use (if you set `max-$` the $width will be lowered by 1px)
// @param string $unit Unit to use with the query (em by default, px breakpoint value will be converted)
//
@mixin responsive( $width: map_get( $breakpoint, 's' ), $property: 'min-width', $unit: 'em' ) {
@if 'max' == str-slice( $property, 1, 3 ) {
$width: $width - 1;
}
@if 'px' == $unit {
$width: $width * 1px;
} @else {
$width: $width / 16 + em;
}
@media only screen and ( #{$property}: #{$width} ) {
@content
}
} // /responsive
//
// Responsive media query: min and max
//
// Avoid using rem unit in media queries as WebKit seems to ignore them or behave
// strangely (uses 16px base font size no matter what font-size is set up on html).
// @link http://stackoverflow.com/questions/12201003/media-queries-with-rem-units-in-chrome
//
// @param string $min Value for $property_min in px
// @param string $max Value for $property_max in px (will be lowered by 1px if $property_max = `max-$`)
// @param string $property_min What CSS property to use for min
// @param string $property_max What CSS property to use for max
// @param string $unit Unit to use with the query (em by default, px breakpoint value will be converted)
//
@mixin responsive_minmax( $min: map_get( $breakpoint, 's' ), $max: map_get( $breakpoint, 'm' ), $property_min: 'min-width', $property_max: 'max-width', $unit: 'em' ) {
@if 'max' == str-slice( $property_min, 1, 3 ) {
$min: $min - 1;
}
@if 'max' == str-slice( $property_max, 1, 3 ) {
$max: $max - 1;
}
@if 'px' == $unit {
$min: $min * 1px;
$max: $max * 1px;
} @else {
$min: $min / 16 + em;
$max: $max / 16 + em;
}
@media only screen and ( #{$property_min}: #{$min}) and (#{$property_max}: #{$max} ) {
@content
}
} // /responsive
//
// Output heading tags styles
//
// @param num $multiplier Alter heading maps values
// @param bool $global_styles Whether to output the heading tags global styles (these don't according the $multiplier)
//
@mixin h_tags( $multiplier: 1, $global_styles: false ) {
@each $selector, $settings in $h_tags_setup {
$size : nth( $settings, 1 );
$line_height : nth( $settings, 2 );
$margin_top : nth( $settings, 3 );
$margin_bottom : nth( $settings, 4 );
$size: $size * $multiplier;
@if 1 > $size {
$size: 1;
}
#{$selector} {
font-size: $size + em;
line-height: $line_height;
@if 1 < $size {
margin-top: $margin_top + em;
margin-bottom: $margin_bottom + em;
} @else {
margin-top: $golden_major + em;
margin-bottom: $golden_major + em;
}
}
}
@if $global_styles {
#{$h_tags} {
@extend %break_words;
@extend %line_height_golden_minor;
padding: 0;
text-rendering: optimizeLegibility; // https://developer.mozilla.org/en-US/docs/CSS/text-rendering
&:first-child,
.screen-reader-text + & {
margin-top: 0;
}
a {
text-decoration: none;
color: inherit;
}
}
}
} // /h_tags
//
// Context
//
// @link https://www.youtube.com/watch?v=o4ok4gsiQSw
//
// @param string $replace
// @param string $withs
//
@mixin context( $replace, $withs... ) {
@each $with in $withs {
@at-root #{ selector_replace( #{&}, $replace, $with ) } {
@content;
}
}
} // /context
//
// Selectors for container with specific number of children
//
// @link http://lea.verou.me/2011/01/styling-children-based-on-their-number-with-css3/
//
// @param string $selector A child selector.
// @param int $count Number of children in container.
// @param int $min Optional starting number of children in container.
//
// IMPORTANT (for LibSass)!
// ========================
//
// To compile correctly with LibSass, we have to move the `@include children()` part
// out of SASS selectors nesting structure and include the whole selectors path again
// in the `children()` mixin.
//
// Otherwise those selectors would be prepended with the nested hierarchy (so, will be duplicated).
//
// Even `@at-root` won't help in this case (plus it's being used in the `children()` mixin).
//
// On the other hand, we have to use LibSass to prevent more complicated issues with line breaks
// in nested selectors...
//
@mixin children( $selector, $count: 2, $min: 1 ) {
$selectors: ();
@for $i from $min through $count {
$selectors: append( $selectors, '#{$selector}:nth-child(#{$i}):nth-last-child(#{ $count + 1 - $i })', comma );
}
@at-root #{$selectors} {
@content;
}
} // /children
//
// LTR/RTL property value
//
// @param string $property
// @param string $value_ltr
// @param string $value_rtl
//
@mixin rtl_property( $property, $value_ltr, $value_rtl ) { // {{RTL}}
@if rtl == $language_direction {
#{ $property }: $value_rtl;
} @else {
#{ $property }: $value_ltr;
}
} // /rtl_property