// Rem output with px fallback @mixin font-size($sizeValue: 1) { font-size: ($sizeValue * 16) * 1px; font-size: $sizeValue * 1rem; } // Center block @mixin center-block { display: block; margin-left: auto; margin-right: auto; } // Clearfix @mixin clearfix() { content: ""; display: table; table-layout: fixed; } // Clear after (not all clearfix need this also) @mixin clearfix-after() { clear: both; } // ----------------------------------------------------------------------------- // This file contains all application-wide Sass mixins. // ----------------------------------------------------------------------------- /// Event wrapper /// @author Harry Roberts /// @param {Bool} $self [false] - Whether or not to include current selector /// @link https://twitter.com/csswizardry/status/478938530342006784 Original tweet from Harry Roberts @mixin on-event($self: false) { @if $self { &, &:hover, &:active, &:focus { @content; } } @else { &:hover, &:active, &:focus { @content; } } } /// Make a context based selector a little more friendly /// @author Hugo Giraudel /// @param {String} $context @mixin when-inside($context) { #{$context} & { @content; } } /// Floats @mixin pull-left { float: left; } @mixin pull-right { float: right; } @mixin transition($transition...) { -moz-transition: $transition; -o-transition: $transition; -webkit-transition: $transition; transition: $transition; } @mixin transition-property($property...) { -moz-transition-property: $property; -o-transition-property: $property; -webkit-transition-property: $property; transition-property: $property; } @mixin transition-duration($duration...) { -moz-transition-property: $duration; -o-transition-property: $duration; -webkit-transition-property: $duration; transition-property: $duration; } @mixin transition-timing-function($timing...) { -moz-transition-timing-function: $timing; -o-transition-timing-function: $timing; -webkit-transition-timing-function: $timing; transition-timing-function: $timing; } @mixin transition-delay($delay...) { -moz-transition-delay: $delay; -o-transition-delay: $delay; -webkit-transition-delay: $delay; transition-delay: $delay; } @mixin css3-prefix($property, $value) { -webkit-#{$property}: #{$value}; -khtml-#{$property} : #{$value}; -moz-#{$property} : #{$value}; -ms-#{$property} : #{$value}; -o-#{$property} : #{$value}; #{$property} : #{$value}; } @mixin transform($params) { @include css3-prefix('transform', $params); } @mixin linearGradient($top, $bottom) { background: $top; /* Old browsers */ background: -moz-linear-gradient(top, $top 0%, $bottom 100%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, $top), color-stop(100%, $bottom)); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, $top 0%, $bottom 100%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, $top 0%, $bottom 100%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, $top 0%, $bottom 100%); /* IE10+ */ background: linear-gradient(to bottom, $top 0%, $bottom 100%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#000000', GradientType=0); /* IE6-9 */ } .newsmag-margin-top { margin-top: 30px; } .newsmag-margin-bottom { margin-bottom: 30px; } .colored { color: $color__brand-red; } .sep-left { margin-left: 5px; }