label { vertical-align: middle; align-items: center; } #tiket-group{ margin: 3em 0; max-width: 100%; } #total-tickets { display: inline-block; width: 6em; max-width: 100%; box-sizing: border-box; } input{ border: 1px solid #999; padding: 10px; vertical-align: middle; } .item-cost, .item-limit, .item-required { display: inline-block; width: 6em; max-width: 100%; box-sizing: border-box; } .item-name { display: inline-block; width: 15em; max-width: 100%; box-sizing: border-box; } label[for^="item-name"] { display: inline-block; width: 40px; font-size: 1.5em; font-weight: bold; margin-right: 0.5em; text-align: right; } label[for^="item-cost"], label[for^="item-limit"], label[for^="item-required"] { margin-left: 0.5em; } .item-row { box-sizing: border-box; border-top: 1px solid #888; border-bottom: 1px solid #888; padding: 0.5em 0; } .item-row + .item-row { box-sizing: border-box; border-top: 0; border-bottom: 1px solid #888; } .field-group { display: inline-block; } button { padding: 1em; } button:hover { background: #fff; border-color: currentColor; color: #ca353b; } input:hover { background: #fff; border-color: currentColor; color: #ca353b; } /* Responsive adjustments */ @media (max-width: 768px) { #tiket-group, #tiket-group label, #tiket-group input{ display: flex; flex: 1 1 100%; } .item-row { flex-direction: column; align-items: flex-start; } .field-group { display: flex; padding: 0.5em 0; } .item-row label, .item-row input { display: flex; flex: 1 1 100%; width: 6em; } label[for^="item-name"] { vertical-align: middle; margin-right: 0; } label[for^="item-cost"], label[for^="item-limit"], label[for^="item-required"] { vertical-align: middle; margin-left: 0; } button { width: 100%; margin-bottom: 0.5em; } }