/** * Repsonsive Styles */ /** * Required Variables */ $default_width: 1170px; $max_content_width: 1370px; $default_width_post: 768px; $breakpoint_sm: 482px; $breakpoint_md: 592px; $breakpoint_lg: 652px; $breakpoint_xl: 822px; $breakpoint_xxl: 1024px; // Responsive breakpoints mixin @mixin media( $res ) { @if mobile-only == $res { @media only screen and (max-width: #{$breakpoint_sm - 1}) { @content; } } @if mobile == $res { @media only screen and (min-width: #{$breakpoint_sm}) { @content; } } @if tablet-only == $res { @media only screen and (max-width: #{$breakpoint_md - 1}) { @content; } } @if tablet == $res { @media only screen and (min-width: #{$breakpoint_md}) { @content; } } @if laptop-only == $res { @media only screen and (max-width: #{$breakpoint_lg - 1}) { @content; } } @if laptop == $res { @media only screen and (min-width: #{$breakpoint_lg}) { @content; } } @if desktop-only == $res { @media only screen and (max-width: #{$breakpoint_xl - 1}) { @content; } } @if desktop == $res { @media only screen and (min-width: #{$breakpoint_xl}) { @content; } } @if wide-only == $res { @media only screen and (max-width: #{$breakpoint_xxl - 1}) { @content; } } @if wide == $res { @media only screen and (min-width: #{$breakpoint_xxl}) { @content; } } } /** * Root Media Query Variables */ :root { --responsive--spacing-horizontal: 40px; --responsive--aligndefault-width: calc(100vw - var(--responsive--spacing-horizontal)); --responsive--alignwide-width: calc(100vw - var(--responsive--spacing-horizontal)); --responsive--alignfull-width: 100%; --responsive--alignright-margin: var(--global--spacing-horizontal); --responsive--alignleft-margin: var(--global--spacing-horizontal); --responsive--alignright-margin-post: var(--global--spacing-horizontal); --responsive--alignleft-margin-post: var(--global--spacing-horizontal); } @include media(mobile) { :root { --responsive--aligndefault-width: min(calc(100vw - 4 * var(--global--spacing-horizontal)), #{$default_width}); --responsive--aligndefault-width-post: min(calc(100vw - 4 * var(--global--spacing-horizontal)), #{$default_width_post}); --responsive--alignwide-width: calc(100vw - 4 * var(--global--spacing-horizontal)); --responsive--alignright-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width))); --responsive--alignleft-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width))); --responsive--alignright-margin-post: calc(0.5 * (100vw - var(--responsive--aligndefault-width-post))); --responsive--alignleft-margin-post: calc(0.5 * (100vw - var(--responsive--aligndefault-width-post))); } } @include media(desktop) { :root { --responsive--aligndefault-width: #{$default_width}; --responsive--alignwide-width: #{$max_content_width}; --responsive--aligndefault-width-post: #{$default_width_post}; } } /** * Extends */ %responsive-aligndefault-width { max-width: var(--responsive--aligndefault-width); margin-left: auto; margin-right: auto; .post &, .rockiste-narrow-page &, .editor-styles-wrapper & { @include media(mobile) { max-width: var(--responsive--aligndefault-width-post); } } } %responsive-aligndefault-width-post { max-width: var(--responsive--aligndefault-width-post); margin-left: auto; margin-right: auto; } %responsive-alignwide-width { max-width: var(--responsive--alignwide-width); margin-left: auto; margin-right: auto; .post &, .editor-styles-wrapper & { max-width: var(--responsive--aligndefault-width); } } %responsive-alignfull-width-mobile { max-width: var(--responsive--alignfull-width); width: var(--responsive--alignfull-width); margin-left: auto; margin-right: auto; } @include media(mobile) { %responsive-alignfull-width { max-width: var(--responsive--alignfull-width); width: auto; margin-left: auto; margin-right: auto; } } %responsive-alignwide-width-nested { margin-left: auto; margin-right: auto; width: var(--responsive--alignwide-width); max-width: var(--responsive--alignfull-width); } %responsive-alignfull-width-nested { margin-left: auto; margin-right: auto; width: calc(var(--responsive--alignfull-width) - calc(2 * var(--responsive--spacing-horizontal))); max-width: var(--responsive--alignfull-width); } @include media(desktop) { %responsive-alignfull-width-nested { margin-left: auto; margin-right: auto; width: calc(var(--responsive--alignfull-width) - calc(4 * var(--responsive--spacing-horizontal))); max-width: var(--responsive--alignfull-width); } } %responsive-alignleft-mobile { /*rtl:ignore*/ margin-left: 0; /*rtl:ignore*/ margin-right: var(--responsive--spacing-horizontal); } @include media(mobile) { %responsive-alignleft { /*rtl:ignore*/ margin-left: var(--responsive--alignleft-margin); /*rtl:ignore*/ margin-right: var(--global--spacing-horizontal); } } %responsive-alignright-mobile { /*rtl:ignore*/ margin-left: var(--responsive--spacing-horizontal); /*rtl:ignore*/ margin-right: 0; } @include media(mobile) { %responsive-alignright { /*rtl:ignore*/ margin-left: var(--global--spacing-horizontal); /*rtl:ignore*/ margin-right: var(--responsive--alignright-margin); .post & { margin-right: var(--responsive--alignright-margin-post); } } } // Output .default-max-width { @extend %responsive-aligndefault-width; } .wide-max-width { @extend %responsive-alignwide-width; } .full-max-width { @extend %responsive-alignfull-width; }