CSS performance

I'm doing a swipe gallery, and it seems some CSS selectors have a *big* impact on performance.
Here it goes:

Matches 50k elements - 12% of CSS time
```css
*, *:before, *:after {
  .box-sizing(border-box);
}
```

Matches 1.6k elements - 10% of CSS time
```css
[data-click-spinner] :not(.spinner) {
    .transition(200ms);
}
```

Matches 2k elements - 6% of CSS time
```css
[data-icon]::before, .icon-add::before, .icon-animation::before,.... {}
```

Matches 0 elements - 4% of CSS time
```css
[data-icon]::before {}
```

Removing these selectors improves performance overall substantially!
@tomaszdurka @christopheschwyzer suggestions?