_responsive-logic.scss 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. /**
  2. * Page Layout Styles & Repsonsive Styles
  3. */
  4. /* Responsive width-content overrides */
  5. $horizontal-padding: (2 * map-deep-get($config-global, "spacing", "horizontal"));
  6. $content-width-flex: 100%;
  7. $content-width-sm: calc( #{map-deep-get($config-global, "breakpoint", "sm")} - #{$horizontal-padding} );
  8. $content-width-md: calc( #{map-deep-get($config-global, "breakpoint", "md")} - #{$horizontal-padding} );
  9. $content-width-lg: calc( #{map-deep-get($config-global, "breakpoint", "lg")} - #{$horizontal-padding} );
  10. $content-width-xl: calc( #{map-deep-get($config-global, "breakpoint", "xl")} - #{$horizontal-padding} );
  11. $content-width-xxl: calc( #{map-deep-get($config-global, "breakpoint", "xxl")} - #{$horizontal-padding} );
  12. %responsive-aligndefault {
  13. max-width: $content-width-flex;
  14. margin-left: auto;
  15. margin-right: auto;
  16. @include media(mobile) {
  17. max-width: $content-width-sm;
  18. }
  19. @include media(tablet) {
  20. max-width: $content-width-md;
  21. }
  22. @include media(laptop) {
  23. max-width: $content-width-lg;
  24. }
  25. @include media(desktop) {
  26. max-width: $content-width-lg;
  27. }
  28. @include media(wide) {
  29. max-width: $content-width-lg;
  30. }
  31. }
  32. %responsive-alignwide {
  33. margin-left: auto;
  34. margin-right: auto;
  35. max-width: $content-width-flex;
  36. @include media(mobile) {
  37. max-width: $content-width-sm;
  38. }
  39. @include media(tablet) {
  40. max-width: $content-width-md;
  41. }
  42. @include media(laptop) {
  43. max-width: $content-width-lg;
  44. }
  45. /* Matches normal width until desktop breakpoint */
  46. @include media(desktop) {
  47. @include alignwide-width( $content-width-lg );
  48. }
  49. @include media(wide) {
  50. @include alignwide-width( $content-width-lg );
  51. }
  52. }
  53. %responsive-alignwide-nested {
  54. @include alignwide-width-nested( $content-width-flex );
  55. margin-left: auto;
  56. margin-right: auto;
  57. @include media(mobile) {
  58. @include alignwide-width-nested( $content-width-sm );
  59. }
  60. @include media(tablet) {
  61. @include alignwide-width-nested( $content-width-md );
  62. }
  63. @include media(laptop) {
  64. @include alignwide-width-nested( $content-width-lg );
  65. }
  66. @include media(desktop) {
  67. @include alignwide-width-nested( $content-width-lg );
  68. }
  69. @include media(wide) {
  70. @include alignwide-width-nested( $content-width-lg );
  71. }
  72. }
  73. %responsive-alignfull {
  74. margin-left: #{-1 * map-deep-get($config-global, "spacing", "horizontal")};
  75. margin-right: #{-1 * map-deep-get($config-global, "spacing", "horizontal")};
  76. width: calc(100% + #{$horizontal-padding});
  77. max-width: calc(100% + #{$horizontal-padding});
  78. /* Letting the box-model do most of the work here. */
  79. @include media(mobile) {
  80. margin-left: inherit;
  81. margin-right: inherit;
  82. width: inherit;
  83. max-width: inherit;
  84. }
  85. }
  86. %responsive-alignfull-nested {
  87. width: 100%;
  88. max-width: 100%;
  89. margin-left: auto;
  90. margin-right: auto;
  91. @include media(mobile) {
  92. width: calc(100% - #{2 * $horizontal-padding});
  93. max-width: 100%;
  94. }
  95. }
  96. %responsive-alignright {
  97. /*rtl:ignore*/
  98. @include media(mobile) {
  99. /*rtl:ignore*/
  100. margin-right: calc( 0.5 * (100vw - #{$content-width-sm}) );
  101. max-width: calc( 0.5 * #{$content-width-sm} );
  102. margin-left: #{map-deep-get($config-global, "spacing", "horizontal")};
  103. }
  104. @include media(tablet) {
  105. /*rtl:ignore*/
  106. margin-right: calc( 0.5 * (100vw - #{$content-width-md}) );
  107. max-width: calc( 0.5 * #{$content-width-md} );
  108. }
  109. @include media(laptop) {
  110. /*rtl:ignore*/
  111. margin-right: calc( 0.5 * (100vw - #{$content-width-lg}) );
  112. max-width: calc( 0.5 * #{$content-width-lg} );
  113. }
  114. @include media(desktop) {
  115. /*rtl:ignore*/
  116. margin-right: calc( 0.5 * (100vw - #{$content-width-lg}) );
  117. max-width: calc( 0.5 * #{$content-width-lg} );
  118. }
  119. @include media(wide) {
  120. /*rtl:ignore*/
  121. margin-right: calc( 0.5 * (100vw - #{$content-width-lg}) );
  122. max-width: calc( 0.5 * #{$content-width-lg} );
  123. }
  124. }
  125. %responsive-alignleft {
  126. /*rtl:ignore*/
  127. @include media(mobile) {
  128. /*rtl:ignore*/
  129. margin-left: calc( 0.5 * (100vw - #{$content-width-sm}) );
  130. max-width: calc( 0.5 * #{$content-width-sm} );
  131. margin-right: #{map-deep-get($config-global, "spacing", "horizontal")};
  132. }
  133. @include media(tablet) {
  134. /*rtl:ignore*/
  135. margin-left: calc( 0.5 * (100vw - #{$content-width-md}) );
  136. max-width: calc( 0.5 * #{$content-width-md} );
  137. }
  138. @include media(laptop) {
  139. /*rtl:ignore*/
  140. margin-left: calc( 0.5 * (100vw - #{$content-width-lg}) );
  141. max-width: calc( 0.5 * #{$content-width-lg} );
  142. }
  143. @include media(desktop) {
  144. /*rtl:ignore*/
  145. margin-left: calc( 0.5 * (100vw - #{$content-width-lg}) );
  146. max-width: calc( 0.5 * #{$content-width-lg} );
  147. }
  148. @include media(wide) {
  149. /*rtl:ignore*/
  150. margin-left: calc( 0.5 * (100vw - #{$content-width-lg}) );
  151. max-width: calc( 0.5 * #{$content-width-lg} );
  152. }
  153. }
  154. %responsive-align-container {
  155. /*
  156. max-width: calc( #{$content-width-flex} - #{$horizontal-padding} );
  157. width: calc( #{$content-width-flex} - #{$horizontal-padding} );
  158. @include media(mobile) {
  159. max-width: #{$content-width-sm};
  160. }
  161. @include media(tablet) {
  162. max-width: #{$content-width-md};
  163. }
  164. @include media(laptop) {
  165. max-width: #{$content-width-lg};
  166. }
  167. @include media(desktop) {
  168. max-width: #{$content-width-lg};
  169. }
  170. @include media(wide) {
  171. max-width: #{$content-width-lg};
  172. }
  173. */
  174. }