// // Mixins // Based on Twitter Bootstrap's _mixings.scss @mixin clearfix() { &:before, &:after { content: " "; // 1 display: table; // 2 } &:after { clear: both; } } // Opacity @mixin opacity($value, $important: '') { opacity: $value #{$important}; filter: alpha(opacity=#{$value * 100}) #{$important}; } // Border radius. @mixin border-radius($radius, $important: '') { -webkit-border-radius: $radius#{$important}; -moz-border-radius: $radius#{$important}; -ms-border-radius: $radius#{$important}; -o-border-radius: $radius#{$important}; border-radius: $radius#{$important}; } // Placeholder text // ------------------------- @mixin placeholder($color: $input-color-placeholder) { &::-moz-placeholder { color: $color; opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526 &:-ms-input-placeholder { color: $color; } // Internet Explorer 10+ &::-webkit-input-placeholder { color: $color; } // Safari and Chrome } // Drop shadows // By default set to: none @mixin box-shadow($shadow) { -webkit-box-shadow: none; // iOS <4.3 & Android <4.1 box-shadow: none; } // Labels // ------------------------- @mixin label-variant($color) { background-color: $color; &[href] { &:hover, &:focus { background-color: darken($color, 10%); } } } @mixin ease-out($duration: 450ms, $property: all, $delay: 0ms) { transition: $property $duration cubic-bezier(0.23, 1, 0.32, 1) $delay; } @mixin pulsate($animation-name, $start-size: 0.75, $end-size: 1, $duration: 1.5s) { @keyframes "#{$animation-name}" { 0%, 100% { transform: scale($start-size); } 50% { transform: scale($end-size); } } animation: $animation-name $duration ease 0s infinite; } /* Cubic Bezier Transition */ @mixin cubic-transition ($delay, $duration, $property) { transition: { duration: $duration; property: $property; timing-function: cubic-bezier(0.7, 1, 0.7, 1); } } @mixin background-opacity($color, $opacity: 0.3) { background: rgba($color, $opacity); } @mixin vertical-align($position: absolute) { position: #{$position}; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } @mixin transform($degree) { webkit-transform: $degree; -moz-transform: $degree; -ms-transform: $degree; -o-transform: $degree; transform: $degree; } @mixin transition($transition) { webkit-transition: #{$transition}; -moz-transition: #{$transition}; -ms-transition: #{$transition}; -o-transition: #{$transition}; transition: #{$transition}; } @mixin burger-icon($line-color, $line-color-hover, $line-width, $line-height, $base-top: -5px, $above-top: 5px, $below-top: -5px) { > span { outline: none !important; &:hover { background: $line-color-hover; &:before, &:after { background: $line-color-hover; } } } > span, > span:before, > span:after { display: inline-block; width: $line-width; height: $line-height; background: $line-color; position: relative; top: $base-top; transition: all ease .3s; } > span:before, > span:after { position: absolute; left: 0; content: ''; } > span:before { top: $above-top; } > span:after { top: $below-top; } &.th-toggle-exit { > span { background-color: transparent !important; } > span:after { @include transform(translateY(-$base-top) rotateZ(45deg)); } > span:before { @include transform(translateY($base-top) rotateZ(-45deg)); } } } @mixin burger-icon-color-change($line-color, $line-color-hover) { > span, > span:before, > span:after { background: $line-color; } > span { &:hover { background: $line-color-hover; &:before, &:after { background: $line-color-hover; } } } &.th-toggle-exit { > span { background-color: transparent !important; } } } @mixin close-icon($icon-size, $line-size, $color, $color-hover) { position: relative; display: inline-block; width: $icon-size; height: $icon-size; overflow: hidden; outline: none !important; &:hover { cursor: pointer; &::before, &::after { background: $color-hover; } } &::before, &::after { content: ''; position: absolute; height: $line-size; width: 100%; top: 50%; left: 0; margin-top: $line-size / 2; background: $color; } &::before { @include transform(rotate(45deg)); } &::after { @include transform(rotate(-45deg)); } } @mixin close-icon-color-change($color, $color-hover) { &:hover { &::before, &::after { background: $color-hover; } } &::before, &::after { background: $color; } }