.pressBlock { --element-width: 30vw; display: flex; .pressArticle, .pressImage { width: var(--element-width); margin: 1rem; } .pressImage { align-self: center; } &:nth-of-type(2n+1) { flex-flow: row-reverse; } } @media only screen and (max-width: 80rem) { .pressBlock { --element-width: 45vw; .pressImage { width: calc(var(--element-width) - 10vw); } } } @media only screen and (max-width: 60rem) { .pressBlock { --element-width: 90vw; &, &:nth-child(2n) { flex-flow: column; } } }