* { box-sizing: border-box; columns: 2 auto; columns: auto 12em; columns: auto auto; } body { font-family: Arial; padding: 20px; background: #f1f1f1; } h1 { padding: 30px; font-size: 40px; text-align: center; background: white; } .leftcolumn { float: left; width: 75%; } .rightcolumn { float: left; width: 25%; padding-left: 20px; } .card { background-color: white; padding: 20px; margin-top: 20px; } .row:after { content: ""; display: table; clear: both; } .footer { padding: 20px; text-align: center; background: #ddd; margin-top: 20px; } @media screen and (max-width: 800px) { .leftcolumn, .rightcolumn { width: 100%; padding: 0; } }