.labelled-password-input { display: flex; flex-direction: column; > .password { display: flex; flex-direction: row; align-items: center; } // Keep field widths equal whether the status icon is shown or not, by // reserving a gutter for the icon and taking it out of the row's flex flow. &.-reserve-icon-gutter > .password { position: relative; padding-right: 26px; > .password-status-icon { position: absolute; right: 0; top: 50%; transform: translateY(-50%); margin-left: 0; } } }