_responsive-logic.scss 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /**
  2. * Repsonsive Styles
  3. */
  4. @import '../abstracts/mixins';
  5. /**
  6. * Root Media Query Variables
  7. */
  8. :root {
  9. --responsive--spacing-horizontal: calc(2 * var(--global--spacing-horizontal));
  10. --responsive--aligndefault-width: calc(100vw - var(--responsive--spacing-horizontal));
  11. --responsive--alignwide-width: calc(100vw - var(--responsive--spacing-horizontal));
  12. --responsive--alignfull-width: 100%;
  13. --responsive--alignwide-width-multiplier: calc(16 * var(--global--spacing-horizontal));
  14. --responsive--alignrightleft-width: var(--global--spacing-horizontal);
  15. }
  16. @include media(mobile) {
  17. :root {
  18. --responsive--alignrightleft-width: calc( 50% - ( 0.5 * (100vw - var(--responsive--aligndefault-width))) ); //calc( 0.5 * (100vw - var(--responsive--aligndefault-width)));
  19. }
  20. }
  21. @include media(laptop) {
  22. :root {
  23. --responsive--aligndefault-width: min(calc(100vw - 2 * var(--global--spacing-horizontal)), #{$default_width});
  24. --responsive--alignwide-width: min(calc(100vw - 2 * var(--global--spacing-horizontal)), #{$alignwide_width});
  25. }
  26. }
  27. /**
  28. * Extends
  29. */
  30. %responsive-aligndefault-width {
  31. max-width: var(--responsive--aligndefault-width);
  32. margin-left: auto;
  33. margin-right: auto;
  34. }
  35. %responsive-alignwide-width {
  36. max-width: var(--responsive--alignwide-width);
  37. margin-left: auto;
  38. margin-right: auto;
  39. }
  40. @include media(mobile) {
  41. %responsive-alignfull-width {
  42. max-width: var(--responsive--alignfull-width);
  43. width: auto;
  44. margin-left: auto;
  45. margin-right: auto;
  46. }
  47. }
  48. %responsive-alignwide-width-nested {
  49. margin-left: auto;
  50. margin-right: auto;
  51. width: var(--responsive--alignwide-width);
  52. max-width: var(--responsive--alignfull-width);
  53. }
  54. %responsive-alignfull-width-nested {
  55. margin-left: auto;
  56. margin-right: auto;
  57. width: calc(var(--responsive--alignfull-width) - calc(2 * var(--responsive--spacing-horizontal)));
  58. max-width: var(--responsive--alignfull-width);
  59. }
  60. /**
  61. * Output
  62. */
  63. .default-max-width {
  64. @extend %responsive-aligndefault-width;
  65. }
  66. .wide-max-width {
  67. @extend %responsive-alignwide-width;
  68. }
  69. .full-max-width {
  70. @extend %responsive-alignfull-width;
  71. }