html, body { height: 100%; background: #f2f2f2; } *, *:before, *:after { box-sizing: border-box; } /* Controls ---------------------------------------------------------------------- */ .controls { padding: 1rem; background: #333; font-size: 0.1px; } .controls > select { margin-right: .75rem; } /* Container ---------------------------------------------------------------------- */ .container { padding: 1rem; text-align: justify; font-size: 0.1px; } .container:after { content: ''; display: inline-block; width: 100%; } /* Target Elements ---------------------------------------------------------------------- */ .mix, .gap { display: inline-block; vertical-align: top; } .mix { background: #fff; border-top: .5rem solid currentColor; border-radius: 2px; margin-bottom: 1rem; position: relative; } .mix:before { content: ''; display: inline-block; padding-top: 56.25%; } .mix.green { color: #91e6c7; } .mix.pink { color: #d595aa; } .mix.blue { color: #5ecdde; } /* Grid Breakpoints ---------------------------------------------------------------------- */ /* 2 Columns */ .mix, .gap { width: calc(100%/2 - (((2 - 1) * 1rem) / 2)); } /* 3 Columns */ @media screen and (min-width: 541px) { .mix, .gap { width: calc(100%/3 - (((3 - 1) * 1rem) / 3)); } } /* 4 Columns */ @media screen and (min-width: 961px) { .mix, .gap { width: calc(100%/4 - (((4 - 1) * 1rem) / 4)); } } /* 5 Columns */ @media screen and (min-width: 1281px) { .mix, .gap { width: calc(100%/5 - (((5 - 1) * 1rem) / 5)); } }