left-content, right-content{ flex-basis: 272px; flex-shrink: 0; } grid{ >.wrapper { width: 100%; min-height: 100vh; display: flex; flex-direction: column; header, footer { flex-grow: 0; flex-shrink: 0; } >.content { flex-grow: 1; display: flex; } } } @media screen and (max-width: 1048px){ .wrapper { &:not(.hide-menu){ overflow-y: hidden; height: 100vh; } .content { } } } @media screen and (min-width: 1360px) { grid{ .wrapper{ >.content { gap: var(--xl); padding: 0 var(--xxl); >.main-content{ flex-grow: 1; } } } } } @media screen and (max-width: 1360px) { grid{ .wrapper{ >.content { gap: var(--xl); padding: 0 var(--xxl); >.main-content{ flex-basis: 640px; min-width: 320px; } right-content{ display: none; } } } } } @media screen and (max-width: 1048px){ grid{ .wrapper{ >.content { padding: 0 var(--l); >.main-content{ flex-basis: 640px; min-width: 320px; } } } } } footer{ display: flex; justify-content: center; padding: 0 48px; margin-top: 68px; border-top: 1px solid var(--second); } .footer{ flex-grow: 1; display: flex; gap: 8px; padding: 16px 0 32px 0; color: var(--second); font-weight: 300; } @media screen and (min-width: 1048px){ .footer{ flex-direction: row-reverse; flex-wrap: wrap; justify-content: space-between; align-content: flex-start; div{ &:first-child{ flex-basis: 35%; } &:nth-child(2){ order:-1; } } } } @media screen and (max-width: 1048px){ footer{ padding: 0 24px; margin-top: 48px; } .footer{ flex-direction: column; justify-content: space-between; padding: 16px 0 24px 0; color: var(--second); font-weight: 300; } } @media screen and (max-width: 668px){ footer{ padding: 0 16px; margin-top: 48px; } }