// @todo - remove prefixes?

// Clear floats
@mixin clear-after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    zoom: 1;
}

// Circle
@mixin circle() {
    @include border-radius( 50% );
}

// Font Size
@mixin font-size-rem( $sizeValue: 1 ) {
    font-size: ( $sizeValue * 16 ) * 1px;
    font-size: $sizeValue * 1rem;
}

// Hidden backface
@mixin backface-hidden() {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
}

// User Select
@mixin disable-user-select() {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

// Box Shadow Fix
@mixin box-shadow-fix() {
    -moz-box-shadow: 0 0 0 rgba(0,0,0,0);
    -webkit-box-shadow: 0 0 0 rgba(0,0,0,0);
    box-shadow: 0 0 0 rgba(0,0,0,0);
}

// Accelerated CSS
@mixin accelerate-css() {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

// Center Block
@mixin center-block {
    display: block;
    margin-left: auto;
    margin-right: auto;
}


// Transform
@mixin transform ( $args ) {
    -ms-transform: $args;
    -webkit-transform: $args;
    -o-transform: $args;
    -moz-transform: $args;
    transform: $args;
}

// Filter
@mixin filter ( $args ) {
    -webkit-filter: $args;
    -moz-filter: $args;
    -o-filter: $args;
    -ms-filter: $args;
}

// Box Sizing
@mixin box-sizing ( $args ) {
    -webkit-box-sizing: $args;
    -moz-box-sizing: $args;
    box-sizing: $args;
}


// Appearance
@mixin appearance ( $args ) {
    -webkit-appearance: $args;
    -moz-appearance: $args;
    appearance: none;
}


// Transition
// Removed prefixes in version 4.4.1
@mixin transition( $args ) {
    //-webkit-transition: $args;
    // -moz-transition: $args;
    // -ms-transition: $args;
    //-o-transition: $args;
    transition: $args;
}


// Opacity
@mixin opacity( $opacity ) {
    //-moz-opacity: $opacity;
    //-webkit-opacity: $opacity;
    opacity: $opacity;
}


// Border radius
// @todo remove prefixes? Must re-check WooCommerce
// https://css-tricks.com/do-we-need-box-shadow-prefixes/
@mixin border-radius( $radius ) {
    //-webkit-border-radius: $radius;
    //-moz-border-radius: $radius;
    border-radius: $radius;
}

// Box Shadow
@mixin box-shadow( $args ) {
    -webkit-box-shadow: $args;
    -moz-box-shadow: $args;
    box-shadow: $args;
}


// Background Size
@mixin background-size( $args ) {
    -webkit-background-size: $args;
    -moz-background-size: $args;
    -o-background-size: $args;
    background-size: $args;
}


// Font Awesome CSS
@mixin font_awesome__css() {
    font-family: "FontAwesome";
    font-weight: normal;
    font-style: normal;
    letter-spacing: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

// Boxed with gray bg
@mixin boxed-light() {
    background: $forms__input-background;
    border: 1px solid $borders__color-light;
}

// Button Styles
@mixin button_styles {
    display: inline-block;
    background: $buttons__background;
    color: $buttons__color; // Can NOT used important because of button styles
    padding: $buttons__padding;
    font-family: inherit;
    font-size: $buttons__font-size;
    font-weight: $buttons__font-weight;
    margin: 0;
    outline: 0;
    border: 0;
    cursor: pointer;
    line-height: $body__line-height;
    -webkit-appearance: none;
    -webkit-font-smoothing: inherit;
    text-decoration: none !important;
    max-width: 100%;
    @include transition( $buttons__transition-speed );
    @include border-radius( $buttons__border-radius );
}

@mixin button_styles-hover {
    background: $accent__main-hover;
    color: #fff;
    text-decoration: none;
}
