.p0 { padding: 0 }
.p1 { padding: .5rem }
.p2 { padding: 1rem }
.p3 { padding: 2rem }
.p4 { padding: 4rem }

.pt0 { padding-top: 0 }
.pt1 { padding-top: .5rem }
.pt2 { padding-top: 1rem }
.pt3 { padding-top: 2rem }
.pt4 { padding-top: 4rem }

.pl0 { padding-left: 0 }
.pl1 { padding-left: .5rem }
.pl2 { padding-left: 1rem }
.pl3 { padding-left: 2rem }
.pl4 { padding-left: 4rem }

.pr0 { padding-right: 0 }
.pr1 { padding-right: .5rem }
.pr2 { padding-right: 1rem }
.pr3 { padding-right: 2rem }
.pr4 { padding-right: 4rem }

.pb0 { padding-bottom: 0 }
.pb1 { padding-bottom: .5rem }
.pb2 { padding-bottom: 1rem }
.pb3 { padding-bottom: 2rem }
.pb4 { padding-bottom: 4rem }

.-m2 { margin: -1rem }
.-m1 { margin: -0.5rem }
.m0 { margin: 0 }
.m1 { margin: .5rem }
.m2 { margin: 1rem }
.m3 { margin: 2rem }
.m4 { margin: 4rem }
.m-auto { margin: auto }

.mt0 { margin-top: 0 }
.mt1 { margin-top: .5rem }
.mt2 { margin-top: 1rem }
.mt3 { margin-top: 2rem }
.mt4 { margin-top: 4rem }

.ml0 { margin-left: 0 }
.ml1 { margin-left: .5rem }
.ml2 { margin-left: 1rem }
.ml3 { margin-left: 2rem }
.ml4 { margin-left: 4rem }

.mr0 { margin-right: 0 }
.mr1 { margin-right: .5rem }
.mr2 { margin-right: 1rem }
.mr3 { margin-right: 2rem }
.mr4 { margin-right: 4rem }

.mb0 { margin-bottom: 0 }
.mb1 { margin-bottom: .5rem }
.mb2 { margin-bottom: 1rem }
.mb3 { margin-bottom: 2rem }
.mb4 { margin-bottom: 4rem }

.mt-auto { margin-top: auto }
.ml-auto { margin-left: auto }
.mr-auto { margin-right: auto }
.mb-auto { margin-bottom: auto }

.mt0-first:first-child { margin-top: 0 }
.ml0-first:first-child { margin-left: 0 }
.mr0-first:first-child { margin-right: 0 }
.mb0-first:first-child { margin-bottom: 0 }

.mt0-last:last-child { margin-top: 0 }
.ml0-last:last-child { margin-left: 0 }
.mr0-last:last-child { margin-right: 0 }
.mb0-last:last-child { margin-bottom: 0 }

[data-spacing~=p0] { padding: 0 }
[data-spacing~=p1] { padding: .5rem }
[data-spacing~=p2] { padding: 1rem }
[data-spacing~=p3] { padding: 2rem }
[data-spacing~=p4] { padding: 4rem }

[data-spacing~=pt0] { padding-top: 0 }
[data-spacing~=pt1] { padding-top: .5rem }
[data-spacing~=pt2] { padding-top: 1rem }
[data-spacing~=pt3] { padding-top: 2rem }
[data-spacing~=pt4] { padding-top: 4rem }

[data-spacing~=pl0] { padding-left: 0 }
[data-spacing~=pl1] { padding-left: .5rem }
[data-spacing~=pl2] { padding-left: 1rem }
[data-spacing~=pl3] { padding-left: 2rem }
[data-spacing~=pl4] { padding-left: 4rem }

[data-spacing~=pr0] { padding-right: 0 }
[data-spacing~=pr1] { padding-right: .5rem }
[data-spacing~=pr2] { padding-right: 1rem }
[data-spacing~=pr3] { padding-right: 2rem }
[data-spacing~=pr4] { padding-right: 4rem }

[data-spacing~=pb0] { padding-bottom: 0 }
[data-spacing~=pb1] { padding-bottom: .5rem }
[data-spacing~=pb2] { padding-bottom: 1rem }
[data-spacing~=pb3] { padding-bottom: 2rem }
[data-spacing~=pb4] { padding-bottom: 4rem }

[data-spacing~=-m2] { margin: -1rem }
[data-spacing~=-m1] { margin: -0.5rem }
[data-spacing~=m0] { margin: 0 }
[data-spacing~=m1] { margin: .5rem }
[data-spacing~=m2] { margin: 1rem }
[data-spacing~=m3] { margin: 2rem }
[data-spacing~=m4] { margin: 4rem }
[data-spacing~=m-auto] { margin: auto }

[data-spacing~=mt0] { margin-top: 0 }
[data-spacing~=mt1] { margin-top: .5rem }
[data-spacing~=mt2] { margin-top: 1rem }
[data-spacing~=mt3] { margin-top: 2rem }
[data-spacing~=mt4] { margin-top: 4rem }

[data-spacing~=ml0] { margin-left: 0 }
[data-spacing~=ml1] { margin-left: .5rem }
[data-spacing~=ml2] { margin-left: 1rem }
[data-spacing~=ml3] { margin-left: 2rem }
[data-spacing~=ml4] { margin-left: 4rem }

[data-spacing~=mr0] { margin-right: 0 }
[data-spacing~=mr1] { margin-right: .5rem }
[data-spacing~=mr2] { margin-right: 1rem }
[data-spacing~=mr3] { margin-right: 2rem }
[data-spacing~=mr4] { margin-right: 4rem }

[data-spacing~=mb0] { margin-bottom: 0 }
[data-spacing~=mb1] { margin-bottom: .5rem }
[data-spacing~=mb2] { margin-bottom: 1rem }
[data-spacing~=mb3] { margin-bottom: 2rem }
[data-spacing~=mb4] { margin-bottom: 4rem }

[data-spacing~=mt-auto] { margin-top: auto }
[data-spacing~=ml-auto] { margin-left: auto }
[data-spacing~=mr-auto] { margin-right: auto }
[data-spacing~=mb-auto] { margin-bottom: auto }

[data-spacing~=mt0-first]:first-child { margin-top: 0 }
[data-spacing~=ml0-first]:first-child { margin-left: 0 }
[data-spacing~=mr0-first]:first-child { margin-right: 0 }
[data-spacing~=mb0-first]:first-child { margin-bottom: 0 }

[data-spacing~=mt0-last]:last-child { margin-top: 0 }
[data-spacing~=ml0-last]:last-child { margin-left: 0 }
[data-spacing~=mr0-last]:last-child { margin-right: 0 }
[data-spacing~=mb0-last]:last-child { margin-bottom: 0 }
