@mixin helvetica-neue-bold() {
    font-family: "HelveticaNeueBold", "HelveticaNeue-Bold", "Helvetica Neue Bold", "HelveticaNeue", "Helvetica Neue", 'TeXGyreHerosBold', "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
    font-weight: bold;
}

/* has issues on Android
@mixin helvetica-neue-medium() {
    font-family: "HelveticaNeueMedium", "HelveticaNeue-Medium", "Helvetica Neue Medium", "HelveticaNeue", "Helvetica Neue", 'TeXGyreHerosRegular', "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
    font-weight: 500;
}
*/

@mixin helvetica-neue-regular() {
    font-family: "HelveticaNeue", "Helvetica Neue", "HelveticaNeueRoman", "HelveticaNeue-Roman", "Helvetica Neue Roman", 'TeXGyreHerosRegular', "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
    font-weight: 400;
}

@mixin helvetica-neue-light() {
    font-family: "HelveticaNeueLight", "HelveticaNeue-Light", "Helvetica Neue Light", "HelveticaNeue", "Helvetica Neue", 'TeXGyreHerosRegular', "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
    font-weight: 300;
}

@mixin helvetica-neue-ultralight() {
    font-family: "HelveticaNeueUltraLight", "HelveticaNeue-Ultra-Light", "Helvetica Neue Ultra Light", "HelveticaNeue", "Helvetica Neue", 'TeXGyreHerosRegular', "Arial", sans-serif;
    font-weight: 100;
}

@mixin flexbox {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
}

@mixin flexbox-align($direction, $justify, $align_content, $align_items) {
    @include flexbox();

    -ms-flex-direction: $direction;
    -webkit-flex-direction: $direction;
    flex-direction: $direction;
    -ms-justify-content: $justify;
    -webkit-justify-content: $justify;
    justify-content: $justify;
    -ms-align-content: $align_content;
    -webkit-align-content: $align_content;
    align-content: $align_content;
    -ms-align-items: $align_items;
    -webkit-align-items: $align_items;
    align-items: $align_items;
}

@mixin flex-wrap($value: nowrap) {
    // No Webkit Box fallback.
    -webkit-flex-wrap: $value;
    -moz-flex-wrap: $value;
    @if $value == nowrap {
        -ms-flex-wrap: none;
    } @else {
        -ms-flex-wrap: $value;
    }
    flex-wrap: $value;
}

@mixin flex-grow($int: 0) {
    -webkit-box-flex: $int;
    -webkit-flex-grow: $int;
    -moz-flex-grow: $int;
    -ms-flex-positive: $int;
    flex-grow: $int;
}

@mixin flex-shrink($int: 1) {
    -webkit-flex-shrink: $int;
    -moz-flex-shrink: $int;
    -ms-flex-negative: $int;
    flex-shrink: $int;
}

@mixin flex-basis($value: auto) {
    -webkit-flex-basis: $value;
    -moz-flex-basis: $value;
    -ms-flex-preferred-size: $value;
    flex-basis: $value;
}

@mixin flex-order($int: 0) {
    -webkit-order: $int;
    -moz-order: $int;
    -ms-order: $int;
    order: $int;
}

@mixin css3-prefix($property, $value) {
    -webkit-#{$property}: #{$value};
    -khtml-#{$property}: #{$value};
    -moz-#{$property}: #{$value};
    -ms-#{$property}: #{$value};
    -o-#{$property}: #{$value};
    #{$property}: #{$value};
}

@mixin border-radius($radius) {
    @include css3-prefix('border-radius', $radius);
}

@mixin text-shadow($params, $color) {
    @include css3-prefix('text-shadow', $params $color);
}

@mixin box-shadow($params, $color) {
    @include css3-prefix('box-shadow', $params $color);
}

@mixin transition-duration($value) {
    @include css3-prefix('transition-duration', $value);
}

@mixin transition-delay($value) {
    @include css3-prefix('transition-delay', $value);
}

@mixin transition-timing-function($value) {
    @include css3-prefix('transition-timing-function', $value);
}

@mixin transition-property($value...) {
    @include css3-prefix('transition-property', $value);
}

@mixin icon-shading($color) {
    //@include box-shadow(0 0 20px 5px, $color);
    @include box-shadow(0 0 10px 2px, $color);
}

@mixin header-shadow() {
    @include box-shadow(0px 3px 3px 0px, rgba(0, 0, 0, 0.5));
}

@mixin menu-footer-shadow() {
    @include box-shadow(0px -3px 3px 0px, rgba(0, 0, 0, 0.5));
}

@mixin before-header-shadow() {
    @include box-shadow(0px -3px 3px 0px, rgba(0, 0, 0, 0.5));
}

@mixin button-shadow() {
    @include box-shadow(0px 1px 5px 0px, rgba(0, 0, 0, 0.2));
}

@mixin content-wrapper-shadow() {
    @include box-shadow(0px 0px 10px 4px, rgba(0, 0, 0, 0.3));
}

@mixin popup-shadow() {
    @include box-shadow(0px 4px 10px 2px, rgba(0, 0, 0, 0.3));
}

@mixin box-sizing($value) {
    @include css3-prefix('box-sizing', $value);
}

@mixin transform($property) {
    @include css3-prefix('transform', $property);
}

@mixin transform-origin($value) {
    @include css3-prefix('transform-origin', $value);
}