.form { display: flex; flex-direction: column; justify-content: center; } .form label { display: block; min-width: 100px; } .row { display: flex; flex-wrap: wrap; align-items: center; position: relative; margin-bottom: 20px; line-height: 1.8; padding: 0 20px; } .row > div { position: relative; flex: 1 1; } .row > div > input, .row > div > select { width: 100%; min-width: 240px; } .buttons { display: flex; justify-content: center; margin-top: 20px; } .buttons button + button { margin-left: 10px; } .error { position: absolute; display: flex; justify-content: center; align-items: center; top: 0; left: calc(100% + 16px); bottom: 0; z-index: 1; } .msg { color: var(--msgColor); background: var(--red400); font-size: var(--font-size-small); padding: 4px 8px; border-radius: 4px; white-space: nowrap; } .error:after { content: ''; position: absolute; top: 0; left: -5px; bottom: 0; margin: auto; width: 10px; height: 10px; background: var(--red400); transform: rotate(45deg); } .message { text-align: center; margin: 20px 0; padding: 4px 8px; border-radius: 4px; color: var(--gray50); background: var(--gray800); } @media only screen and (max-width: 576px) { .error { align-items: flex-start; top: calc(100% + 7px); left: 0; } .error:after { left: 10px; } }