.feature-icons { display: flex; flex-wrap: wrap; margin-bottom: 20px; width: 100%; gap: 16px; .atlas { object-fit: cover; object-position: calc(-48px * var(--atlas-index)) 0; width: 48px; height: 48px; } .feature-icon { display: flex; align-items: center; img { flex: 0 0 auto; } p + &.feature-icon { margin-top: calc(40 * var(--variable-px)); } } &:not(.stacked) .feature-icon { padding: 16px; gap: 16px; // Half width, minus own padding on both sides, minus half a gap flex: 1 0 calc(50% - (16px * 2) - (16px / 2)); @media screen and (max-width: 1100px) { // Quarter width, minus own padding on both sides flex: 1 0 calc(100% - (16px * 2)); } } &:not(.no-background) .feature-icon { background: rgba(0, 0, 0, 0.0625); } &.four-wide .feature-icon { flex: 1 0 calc(25% - (16px * 4) - (16px / 4)); @media screen and (max-width: 1200px) { // Half width, minus own padding on both sides, minus half a gap flex: 1 0 calc(50% - (16px * 2) - (16px / 2)); } @media screen and (max-width: 840px) { // Quarter width, minus own padding on both sides flex: 1 0 calc(100% - (16px * 2)); } } &.three-wide .feature-icon { flex: 1 0 calc((100% / 3) - (16px * 4) - (16px / 4)); @media screen and (max-width: 800px) { // Quarter width, minus own padding on both sides flex: 1 0 calc(100% - (16px * 2)); } } &.stacked { justify-content: space-between; margin: 0 -10px; width: calc(100% + 20px); gap: 0; .feature-icon { flex-direction: column; flex: 0 1 auto; margin: 0 10px; @media screen and (max-width: 1100px) { width: calc(100% / 3 - 40px); } @media screen and (max-width: 400px) { width: calc(100% / 2 - 20px); } img { width: 72px; height: 72px; object-position: calc(-72px * var(--atlas-index)) 0; margin-bottom: 8px; } span { text-align: center; } } } }