top: 0;
z-index: 300;
- @include large-screen-only {
+ @include screen-lg {
.pageHeader .layoutBoundary {
height: 50px;
padding: 10px 10px 10px 0;
}
}
- @include small-screen-only {
+ @include screen-md-down {
max-width: 100vw;
}
}
flex: 1 0 auto;
}
-@include large-screen-only {
+@include screen-lg {
.acpPageMenu .icon, .acpPageSubMenu .icon {
color: inherit;
}
}
}
-@include small-screen-only {
+@include screen-md-down {
.acpPageMenu,
.acpPageSubMenu {
display: none;
.main {
flex: 1 1 auto;
- @include large-screen-only {
+ @include screen-lg {
padding: 40px 0 40px 20px;
}
- @include small-screen-only {
+ @include screen-md-down {
padding: 20px 0;
}
}
box-shadow: $parameters;
}
/** /deprecated */
-
-@mixin small-screen-only() {
- /* 768px - 1px */
- @media (max-width: 767px) {
- @content;
- }
-}
-
-@mixin large-screen-only() {
- @media (min-width: 768px) {
- @content;
- }
-}
@mixin wcfFontDefault {
font-weight: 400;
- @include large-screen-only {
+ @include screen-md-up {
font-size: $wcfFontSizeDefault;
}
- @include small-screen-only {
+ @include screen-sm-down {
font-size: 14px;
}
}
@mixin wcfFontSmall {
font-weight: 400;
- @include large-screen-only {
+ @include screen-md-up {
font-size: $wcfFontSizeSmall;
}
- @include small-screen-only {
+ @include screen-sm-down {
font-size: 12px;
}
}
font-weight: 400;
line-height: 1.28;
- @include large-screen-only {
+ @include screen-md-up {
font-size: $wcfFontSizeHeadline;
}
- @include small-screen-only {
+ @include screen-sm-down {
font-size: 18px;
}
}
font-weight: 300;
line-height: 1.28;
- @include large-screen-only {
+ @include screen-md-up {
font-size: $wcfFontSizeSection;
}
- @include small-screen-only {
+ @include screen-sm-down {
font-size: 20px;
}
}
font-weight: 300;
line-height: 1;
- @include large-screen-only {
+ @include screen-md-up {
font-size: $wcfFontSizeTitle;
}
- @include small-screen-only {
+ @include screen-sm-down {
font-size: 23px;
}
}
--- /dev/null
+/* smartphone */
+@mixin screen-xs() {
+ @media (max-width: 544px) {
+ @content;
+ }
+}
+
+/* tablet (portrait) */
+@mixin screen-sm() {
+ @media (min-width: 545px) and (max-width: 768px) {
+ @content;
+ }
+}
+
+/* smartphone + tablet (portrait) */
+@mixin screen-sm-down() {
+ @media (max-width: 768px) {
+ @content;
+ }
+}
+
+/* tablet(portrait) + tablet (landscape) + desktop */
+@mixin screen-sm-up() {
+ @media (min-width: 545px) {
+ @content;
+ }
+}
+
+/* tablet (landscape) */
+@mixin screen-md() {
+ @media (min-width: 769px) and (max-width: 1024px) {
+ @content;
+ }
+}
+
+/* smartphone + tablet (portrait) + tablet (landscape) */
+@mixin screen-md-down() {
+ @media (max-width: 1024px) {
+ @content;
+ }
+}
+
+/* tablet (landscape) + desktop */
+@mixin screen-md-up() {
+ @media (min-width: 1024px) {
+ @content;
+ }
+}
+
+/* desktop */
+@mixin screen-lg() {
+ @media (min-width: 1025px) {
+ @content;
+ }
+}
&:not(.boxBorderless) {
background-color: $wcfSidebarBackground;
- @include large-screen-only {
- padding: 20px;
+ @include screen-md-down {
+ padding: 20px 10px;
.boxMenu {
- margin-left: -20px;
- margin-right: -20px;
+ margin-left: -10px;
+ margin-right: -10px;
}
}
- @include small-screen-only {
- padding: 20px 10px;
+ @include screen-lg {
+ padding: 20px;
.boxMenu {
- margin-left: -10px;
- margin-right: -10px;
+ margin-left: -20px;
+ margin-right: -20px;
}
}
}
margin-left: -10px;
margin-right: -10px;
- @include large-screen-only {
+ @include screen-sm-down {
+ padding: 20px 0;
+ }
+
+ @include screen-md-up {
display: flex;
flex-wrap: wrap;
margin-bottom: -40px;
padding: 40px 0;
}
-
- @include small-screen-only {
- padding: 20px 0;
- }
}
.box {
padding-left: 10px;
padding-right: 10px;
- @include large-screen-only {
+ @include screen-sm-down {
+ & + .box {
+ margin-top: 40px;
+ }
+ }
+
+ @include screen-md-up {
flex: 0 0 50%;
margin-bottom: 40px;
flex-basis: 100%;
}
}
-
- @include small-screen-only {
- & + .box {
- margin-top: 40px;
- }
- }
}
.boxTitle {
position: relative;
transition: background-color .2s;
- @include large-screen-only {
- padding: 20px;
+ @include screen-md-down {
+ padding: 10px 0;
}
- @include small-screen-only {
- padding: 10px 0;
+ @include screen-lg {
+ padding: 20px;
}
&:not(:last-child) {
}
.containerBoxList {
- @include large-screen-only {
+ @include screen-sm-down {
+ &.doubleColumned,
+ &.tripleColumned {
+ > li + li {
+ margin-top: 10px;
+ }
+ }
+ }
+
+ @include screen-md-up {
&.doubleColumned,
&.tripleColumned {
display: flex;
width: calc(100% / 3);
}
}
-
- @include small-screen-only {
- &.doubleColumned,
- &.tripleColumned {
- > li + li {
- margin-top: 10px;
- }
- }
- }
}
color: $wcfContentDimmedText;
}
- @include large-screen-only {
+ @include screen-md-down {
+ .contentHeaderIcon {
+ display: none;
+ }
+ }
+
+ @include screen-sm {
+ .contentHeaderNavigation > ul {
+ @include inlineList;
+
+ flex-wrap: nowrap;
+ justify-content: flex-end;
+ margin-top: 20px;
+ }
+ }
+
+ @include screen-md-up {
display: flex;
.contentHeaderIcon {
}
}
}
-
- @include small-screen-only {
- .contentHeaderIcon {
- display: none;
- }
-
- // TODO: mobile optimization for `.contentHeaderNavigation`
- }
}
/* legacy styling for sub headlines (deprecated; use .section > .sectionTitle instead) */
margin-top: 30px;
}
- @include large-screen-only {
+ @include screen-sm-down {
+ ul {
+ margin-top: 30px;
+
+ > li {
+ > .button {
+ display: block;
+ padding: 7px 10px;
+ text-align: center;
+ }
+ }
+ }
+
+ > nav:not(.pagination) > ul > li + li {
+ margin-top: 10px;
+ }
+ }
+
+ @include screen-md-up {
align-items: center;
display: flex;
}
}
}
-
- @include small-screen-only {
- ul {
- margin-top: 30px;
-
- > li {
- > .button {
- display: block;
- padding: 7px 10px;
- text-align: center;
- }
- }
- }
-
- > nav:not(.pagination) > ul > li + li {
- margin-top: 10px;
- }
- }
}
.paginationTop {
}
.contentFooter {
- @include large-screen-only {
+ @include screen-sm-down {
+ > .contentFooterNavigation {
+ margin-top: 20px;
+
+ .button {
+ display: block;
+ padding: 7px 10px;
+ text-align: center;
+
+ &:not(:first-child) {
+ margin-top: 10px;
+ }
+ }
+ }
+ }
+
+ @include screen-md-up {
display: flex;
> .paginationBottom {
}
}
}
-
- @include small-screen-only {
- > .contentFooterNavigation {
- margin-top: 20px;
-
- .button {
- display: block;
- padding: 7px 10px;
- text-align: center;
-
- &:not(:first-child) {
- margin-top: 10px;
- }
- }
- }
- }
}
/* content navigation buttons */
-@include small-screen-only {
+@include screen-xs {
.contentHeader > .contentHeaderNavigation > ul {
margin-top: 30px;
}
}
-@include small-screen-only {
+@include screen-sm-down {
.paginationTop {
display: none;
margin-top: 30px;
}
- @include large-screen-only {
- > :not(:first-child) {
- margin-left: 10px;
- }
- }
-
- @include small-screen-only {
+ @include screen-xs {
> .button,
> button,
> input {
}
}
}
+
+ @include screen-sm-up {
+ > :not(:first-child) {
+ margin-left: 10px;
+ }
+ }
}
.inputAddon {
.layoutBoundary {
margin: 0 auto;
- @include small-screen-only {
+ @include screen-md-down {
padding: 0 10px;
width: 100%;
}
- @include large-screen-only {
+ @include screen-lg {
padding: 0 20px;
@if $useFluidLayout {
margin-left: 100%;
}
-@include large-screen-only {
+@include screen-md-up {
.col-md-1 {
flex: 0 0 8.333333%;
}
align-items: flex-end;
}
-@include large-screen-only {
+@include screen-md-up {
.row-md-top {
-ms-grid-row-align: flex-start;
align-items: flex-start;
align-self: flex-end;
}
-@include large-screen-only {
+@include screen-md-up {
.col-md-top {
align-self: flex-start;
}
color: $wcfContentText;
flex: 1 0 auto;
- @include large-screen-only {
+ @include screen-md-up {
padding: 60px 0;
}
- @include small-screen-only {
+ @include screen-sm-down {
padding: 30px 0;
width: 100%;
}
}
/* use flex-box to enforce a proper side-by-side layout on desktop */
-@include large-screen-only {
+@include screen-md-up {
.main > div {
display: flex;
}
<content>
<rightSidebar>
*/
-@include small-screen-only {
+@include screen-sm-down {
.sidebar {
margin: 0 -10px;
}
color: $wcfFooterText;
flex: 0 0 auto;
- @include large-screen-only {
+ @include screen-md-up {
padding: 40px 0;
}
- @include small-screen-only {
+ @include screen-sm-down {
padding: 20px 0;
}
.pageHeader .layoutBoundary {
display: flex;
- @include large-screen-only {
+ @include screen-md-down {
+ padding: 10px;
+ }
+
+ @include screen-lg {
align-items: center;
flex-wrap: wrap;
padding-top: 20px;
padding-bottom: 0;
}
-
- @include small-screen-only {
- padding: 10px;
- }
}
/* LOGO */
.pageHeaderLogo {
- .pageHeaderLogoSmall {
- display: none;
- }
-
- @include large-screen-only {
+ @include screen-lg {
flex: 0 0 50%;
margin-bottom: 20px;
+
+ .pageHeaderLogoSmall {
+ display: none;
+ }
}
}
}
}
-@include large-screen-only {
+@include screen-lg {
.pageHeader:not(.sticky) {
.mainMenu {
background-color: $wcfHeaderMenuBackground;
/* user panel */
.userPanel {
+ background-color: $wcfHeaderMenuBackground;
flex: 0 0 auto;
> ul {
/* SEARCH AREA */
.pageHeaderSearch {
- @include large-screen-only {
+ @include screen-lg {
align-self: flex-start;
flex: 0 0 50%;
margin-bottom: 20px;
}
}
-@include small-screen-only {
+@include screen-md-down {
.pageHeaderContainer {
// touch browser allow to scroll past the page top before they bounce back,
// but in that case the original background color is visible
will-change: transform;
}
-@include large-screen-only {
+@include screen-lg {
.pageHeaderContainer.stickyPageHeader {
z-index: 300;
}
// force sticky header on handheld devices, there is no difference when scrolled
// all the way up and it might flicker when scrolling due to the inconsistent
// scroll event being fired
-@include small-screen-only {
+@include screen-md-down {
.pageHeaderContainer {
height: 50px;
z-index: 300;
-@include large-screen-only {
+@include screen-md-up {
.pageNavigation {
background-color: $wcfNavigationBackground;
color: $wcfNavigationText;
}
}
-@include small-screen-only {
+@include screen-sm-down {
.pageNavigation {
display: none;
}
> section:not(.box) {
background-color: $wcfSidebarBackground;
- @include large-screen-only {
+ @include screen-md-up {
padding: 20px;
}
- @include small-screen-only {
+ @include screen-sm-down {
padding: 20px 10px;
}
border-left: 5px solid transparent;
margin-top: 20px;
- @include large-screen-only {
+ @include screen-md-up {
padding: 10px 20px;
}
- @include small-screen-only {
+ @include screen-sm-down {
padding: 10px;
}
}
margin-top: 10px;
}
- @include large-screen-only {
+ @include screen-md-up {
/* use fixed height to ensure a constant gap between <dl> with and without an image */
height: 100px;
}
}
- @include small-screen-only {
+ @include screen-sm-down {
flex-wrap: wrap;
> dt:not(:empty) {
will-change: opacity;
z-index: 399;
- @include large-screen-only {
+ @include screen-md-up {
padding: 100px 0;
}
.dialogContainer {
z-index: 200;
- @include small-screen-only {
+ @include screen-sm-down {
left: 0 !important;
position: fixed;
right: 0 !important;
top: 0 !important;
}
- @include large-screen-only {
+ @include screen-md-up {
animation: wcfDialogOut .3s;
animation-fill-mode: forwards;
box-shadow: 0 1px 15px 0 rgba(0, 0, 0, .3);
overflow: auto;
&:not(.dialogContentNoPadding) {
- @include small-screen-only {
+ @include screen-sm-down {
padding: 10px;
}
- @include large-screen-only {
+ @include screen-md-up {
padding: 30px 20px 10px 20px;
}
}
}
-@include large-screen-only {
+@include screen-md-up {
.dropdownMenu.pageHeaderSearchDropdown {
transform: translateY(-10px);
}
}
-@include small-screen-only {
+@include screen-sm-down {
.dropdownMenu {
left: 0 !important;
right: 0 !important;
margin-left: 5px;
}
- @include small-screen-only {
+ @include screen-sm-down {
padding: 10px;
}
}
overflow: hidden;
}
- @include small-screen-only {
+ @include screen-sm-down {
padding: 10px;
}
}
}
}
-@include large-screen-only {
+@include screen-md-up {
.interactiveDropdown {
min-width: 350px;
}
}
}
-@include small-screen-only {
+@include screen-sm-down {
.interactiveDropdown {
bottom: 0;
display: flex;
.messageList {
border-bottom: 1px solid $wcfContentBorder;
- @include large-screen-only {
+ @include screen-md-up {
border-top: 1px solid $wcfContentBorder;
> li {
}
}
- @include small-screen-only {
+ @include screen-sm-down {
> li {
padding-bottom: 20px;
}
.message {
display: flex;
- @include small-screen-only {
+ @include screen-sm-down {
flex-direction: column;
}
color: $wcfSidebarText;
position: relative;
- @include large-screen-only {
+ @include screen-md-up {
align-self: flex-start;
border-radius: 3px;
flex: 0 0 240px;
}
}
- @include small-screen-only {
+ @include screen-sm-down {
flex: 0 0 auto;
margin: 0 -10px;
padding: 10px;
pointer-events: none;
position: absolute;
- @include large-screen-only {
+ @include screen-md-up {
bottom: 0;
}
- @include small-screen-only {
+ @include screen-sm-down {
color: transparent;
padding: 0;
width: 0;
flex: auto;
flex-direction: column;
- @include small-screen-only {
+ @include screen-sm-down {
margin-top: 20px;
}
}
.messageQuickOptions {
- @include large-screen-only {
+ @include screen-md-up {
@include inlineList;
}
- @include small-screen-only {
+ @include screen-sm-down {
flex: 0 0 24px;
height: 1.5em;
position: relative;
}
> .messageFooterButtons {
- @include large-screen-only {
+ @include screen-md-up {
flex: auto;
}
- @include small-screen-only {
+ @include screen-sm-down {
display: none;
}
}
}
/* disable auto zoom in mobile safari */
-@include small-screen-only {
+@include screen-sm-down {
.redactor-editor + textarea {
font-size: 16px;
max-height: 500px;
@include wcfFontSection;
}
- @include large-screen-only {
+ @include screen-md-up {
> ul {
border-bottom: 1px solid $wcfContentBorderInner;
}
}
- @include small-screen-only {
+ @include screen-sm-down {
> ul {
border-bottom: 1px solid $wcfContentLink;
display: block;
@include userSelectNone;
- @include large-screen-only {
+ @include screen-md-up {
> .icon {
display: none;
}
}
- @include small-screen-only {
+ @include screen-sm-down {
> .icon {
display: block;
}
}
.tabularBox {
- @include small-screen-only {
+ @include screen-sm-down {
overflow: auto;
}
}
}
}
- @include large-screen-only {
+ @include screen-md-up {
-webkit-column-count: 2;
-moz-column-count: 2;
column-count: 2;
}
}
-@include large-screen-only {
+@include screen-md-up {
/* full page login: missing margin due to different DOM */
.contentHeader ~ .loginForm {
margin-top: 30px;
and a clear separation if the images color is close to the surrounding elements */
box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, .6), inset 0 -10px 10px -10px rgba(0, 0, 0, .6);
- @include large-screen-only {
+ @include screen-md-up {
height: 200px;
}
- @include small-screen-only {
+ @include screen-sm-down {
height: 100px;
}
}
padding: 0 10px 0 160px;
position: relative;
- @include small-screen-only {
+ @include screen-sm-down {
padding-left: 90px;
}
}
top: 50%;
transform: translateY(-50%);
- @include small-screen-only {
+ @include screen-sm-down {
.userAvatarImage {
height: 64px !important;
width: 64px !important;
}
.userProfileButtonContainer {
- @include large-screen-only {
+ @include screen-md-up {
display: flex;
flex: 0 0 auto;
margin-left: 10px;
}
}
- @include small-screen-only {
+ @include screen-sm-down {
display: none;
}
}
> .layoutBoundary {
padding: 10px 10px 10px 160px;
- @include small-screen-only {
+ @include screen-sm-down {
padding: 20px 10px 10px;
}
}