$ideal-viewport-width-num: 1260; $ideal-viewport-width: #{$ideal-viewport-width-num}px; $ideal-content-width-num: 1150; $ideal-content-width: #{$ideal-content-width-num}px; $ideal-viewport-padding-num: 24; $ideal-viewport-padding: #{$ideal-viewport-padding-num}px; $minimum-viewport-padding: 10px; $ideal-content-padding: 33px; // workaround bulma's sweeping box-sizing // so we can verify the ideal widths are the same %viewport-container { box-sizing: content-box; } %viewport-container { margin-left: auto; margin-right: auto; } %modal-dialog > *, %content-container > * { box-sizing: border-box; } %content-container-restricted { max-width: $ideal-content-width; } %viewport-container { padding-left: 25px; padding-right: calc(#{$ideal-viewport-padding-num}vw / (#{$ideal-viewport-width-num} / 100)); } %content-container { padding-left: calc(24vw / (#{$ideal-viewport-width-num} / 100)); padding-right: calc(24vw / (#{$ideal-viewport-width-num} / 100)); } @media #{$--min-padding} { %viewport-container { padding-left: $minimum-viewport-padding; padding-right: $minimum-viewport-padding; } } @media #{$--max-padding} { %viewport-container { padding-left: $ideal-viewport-padding; padding-right: $ideal-viewport-padding; } %content-container { padding-left: $ideal-viewport-padding; padding-right: $ideal-viewport-padding; } } fieldset [role='group'] { display: flex; flex-wrap: wrap; flex-direction: row; } [role='group'] fieldset { width: 50%; } [role='group'] fieldset:not(:first-of-type) { padding-left: 20px; border-left: 1px solid; border-left: $gray-500; } [role='group'] fieldset:not(:last-of-type) { padding-right: 20px; }