$mobile-portrait: 'only screen and (orientation:portrait) and (max-width: 599px)';
$tablet-portrait: 'only screen and (orientation:portrait) and (min-width: 600px) and (max-width: 839px)';
$desktop-portrait: 'only screen and (orientation:portrait) and (min-width: 840px)';

$mobile-landscape: 'only screen and (orientation:landscape) and (max-width: 959px)';
$tablet-landscape: 'only screen and (orientation:landscape) and (min-width: 960px) and (max-width: 1279px)';
$desktop-landscape: 'only screen and (orientation:landscape) and (min-width: 1280px)';

$mobile: $mobile-portrait + ',' + $mobile-landscape;
$tablet: $tablet-portrait + ',' + $tablet-landscape;
$desktop: $desktop-portrait + ',' + $desktop-landscape;

$portrait: 'only screen and (orientation:portrait)';
$landscape: 'only screen and (orientation:landscape)';

$xsmall-screen: 'only screen and (max-width: 599px)';
$small-screen: 'only screen and (min-width: 600px) and (max-width: 959px)';
$medium-screen: 'only screen and (min-width: 960px) and (max-width: 1280px)';
$large-screen: 'only screen and (min-width: 1280px) and (max-width: 1919px)';
$xlarge-screen: 'only screen and (min-width: 1920px)';

@mixin mobile {
  @media #{$mobile} {
    @content;
  }
}

@mixin tablet {
  @media #{$tablet} {
    @content;
  }
}

@mixin desktop {
  @media #{$desktop} {
    @content;
  }
}

@mixin portrait {
  @media #{$portrait} {
    @content;
  }
}

@mixin landscape {
  @media #{$landscape} {
    @content;
  }
}

@mixin xsmall-screen {
  @media #{$xsmall-screen} {
    @content;
  }
}

@mixin small-screen {
  @media #{$small-screen} {
    @content;
  }
}

@mixin medium-screen {
  @media #{$medium-screen} {
    @content;
  }
}

@mixin large-screen {
  @media #{$large-screen} {
    @content;
  }
}

@mixin xlarge-screen {
  @media #{$xlarge-screen} {
    @content;
  }
}
