/* 4px */
.p-1 { padding: 0.25rem; }
.px-1	{ padding-left: 0.25rem; padding-right: 0.25rem; }
.py-1	{ padding-top: 0.25rem; padding-bottom: 0.25rem; }
.pt-1	{ padding-top: 0.25rem; }
.pr-1	{ padding-right: 0.25rem; }
.pb-1	{ padding-bottom: 0.25rem; }
.pl-1	{ padding-left: 0.25rem; }

/* 8px */
.p-2 { padding: 0.5rem; }
.px-2	{ padding-left: 0.5rem; padding-right: 0.5rem; }
.py-2	{ padding-top: 0.5rem; padding-bottom: 0.5rem; }
.pt-2	{ padding-top: 0.5rem; }
.pr-2	{ padding-right: 0.5rem; }
.pb-2	{ padding-bottom: 0.5rem; }
.pl-2	{ padding-left: 0.5rem; }
.m-2 { margin: 0.5rem; }
.mx-2	{ margin-left: 0.5rem; margin-right: 0.5rem; }
.my-2	{ margin-top: 0.5rem; margin-bottom: 0.5rem; }
.mt-2	{ margin-top: 0.5rem; }
.mr-2	{ margin-right: 0.5rem; }
.mb-2	{ margin-bottom: 0.5rem; }
.ml-2	{ margin-left: 0.5rem; }

/* 12px */
.p-3 { padding: 0.75rem; }
.px-3	{ padding-left: 0.75rem; padding-right: 0.75rem; }
.py-3	{ padding-top: 0.75rem; padding-bottom: 0.75rem; }
.pt-3	{ padding-top: 0.75rem; }
.pr-3	{ padding-right: 0.75rem; }
.pb-3	{ padding-bottom: 0.75rem; }
.pl-3	{ padding-left: 0.75rem; }
.m-3 { margin: 0.75rem; }
.mx-3	{ margin-left: 0.75rem; margin-right: 0.75rem; }
.my-3	{ margin-top: 0.75rem; margin-bottom: 0.75rem; }
.mt-3	{ margin-top: 0.75rem; }
.mr-3	{ margin-right: 0.75rem; }
.mb-3	{ margin-bottom: 0.75rem; }
.ml-3	{ margin-left: 0.75rem; }

/* 16px */
.p-4 { padding: 1rem; }
.px-4	{ padding-left: 1rem; padding-right: 1rem; }
.py-4	{ padding-top: 1rem; padding-bottom: 1rem; }
.pt-4	{ padding-top: 1rem; }
.pr-4	{ padding-right: 1rem; }
.pb-4	{ padding-bottom: 1rem; }
.pl-4	{ padding-left: 1rem; }
.m-4 { margin: 1rem; }
.mx-4	{ margin-left: 1rem; margin-right: 1rem; }
.my-4	{ margin-top: 1rem; margin-bottom: 1rem; }

/* 20px */
.p-5 { padding: 1.25rem; }
.px-5	{ padding-left: 1.25rem; padding-right: 1.25rem; }
.py-5	{ padding-top: 1.25rem; padding-bottom: 1.25rem; }
.pt-5	{ padding-top: 1.25rem; }
.pr-5	{ padding-right: 1.25rem; }
.pb-5	{ padding-bottom: 1.25rem; }
.pl-5	{ padding-left: 1.25rem; }
.m-5 { margin: 1.25rem; }
.mx-5	{ margin-left: 1.25rem; margin-right: 1.25rem; }
.my-5	{ margin-top: 1.25rem; margin-bottom: 1.25rem; }

/* 24px */
.p-6 { padding: 1.5rem; }
.px-6	{ padding-left: 1.5rem; padding-right: 1.5rem; }
.py-6	{ padding-top: 1.5rem; padding-bottom: 1.5rem; }
.pt-6	{ padding-top: 1.5rem; }
.pr-6	{ padding-right: 1.5rem; }
.pb-6	{ padding-bottom: 1.5rem; }
.pl-6	{ padding-left: 1.5rem; }

/* 32px */
.p-8 { padding: 2rem; }
.px-8	{ padding-left: 2rem; padding-right: 2rem; }
.py-8	{ padding-top: 2rem; padding-bottom: 2rem; }
.pt-8	{ padding-top: 2rem; }
.pr-8	{ padding-right: 2rem; }
.pb-8	{ padding-bottom: 2rem; }
.pl-8	{ padding-left: 2rem; }
.m-8 { margin: 2rem; }
.mx-8	{ margin-left: 2rem; margin-right: 2rem; }
.my-8	{ margin-top: 2rem; margin-bottom: 2rem; }
.mt-8	{ margin-top: 2rem; }
.mr-8	{ margin-right: 2rem; }
.mb-8	{ margin-bottom: 2rem; }
.ml-8	{ margin-left: 2rem; }

/* 40px */
.p-10 { padding: 2.5rem; }
.px-10 { padding-left: 2.5rem; padding-right: 2.5rem; }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.pt-10 { padding-top: 2.5rem; }
.pr-10 { padding-right: 2.5rem; }
.pb-10 { padding-bottom: 2.5rem; }
.pl-10 { padding-left: 2.5rem; }

/* 48px */
.p-12 { padding: 3rem; }
.px-12 { padding-left: 3rem; padding-right: 3rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.pt-12 { padding-top: 3rem; }
.pr-12 { padding-right: 3rem; }
.pb-12 { padding-bottom: 3rem; }
.pl-12 { padding-left: 3rem; }