/* === === === === */
/* Flex Gap Polyfill for Safari et al. */
/* === === === === */

.c-gap-wrapper {
  display: flow-root;
}

.c-gap-wrapper::before, .c-gap-wrapper::after {
  content: '';
  display: table;
}
.c-gap, .c-gap-padding {
  --gap-x: 0px;
  --gap-y: 0px;
  --gap-x-half: calc(var(--gap-x) / 2);
  --gap-x-half-negative: calc(var(--gap-x-half) * -1);
  --gap-y-half: calc(var(--gap-y) / 2);
  --gap-y-half-negative: calc(var(--gap-y-half) * -1);
  margin: var(--gap-y-half-negative) var(--gap-x-half-negative);
}
.c-gap > * {
  margin: var(--gap-y-half) var(--gap-x-half);
}
.c-gap-padding > * {
  padding: var(--gap-y-half) var(--gap-x-half);
}

.c-gap-0 {
  --gap-x: 0px;
  --gap-y: 0px;
}
.c-gap-1 {
  --gap-x: 0.25rem;
  --gap-y: 0.25rem;
}
.c-gap-2 {
  --gap-x: 0.5rem;
  --gap-y: 0.5rem;
}
.c-gap-3	{ 
  --gap-x: 0.75rem; 
  --gap-y: 0.75rem;
}
.c-gap-4	{ 
  --gap-x: 1rem; 
  --gap-y: 1rem;
}
.c-gap-5	{ 
  --gap-x: 1.25rem; 
  --gap-y: 1.25rem;
}
.c-gap-6	{ 
  --gap-x: 1.5rem; 
  --gap-y: 1.5rem;
}
.c-gap-8	{ 
  --gap-x: 2rem; 
  --gap-y: 2rem;
}
.c-gap-10	{ 
  --gap-x: 2.5rem; 
  --gap-y: 2.5rem;
}
.c-gap-12	{ 
  --gap-x: 3rem; 
  --gap-y: 3rem;
}
.c-gap-16	{ 
  --gap-x: 4rem; 
  --gap-y: 4rem;
}
.c-gap-20	{ 
  --gap-x: 5rem; 
  --gap-y: 5rem;
}
.c-gap-24	{ 
  --gap-x: 6rem; 
  --gap-y: 6rem;
}
.c-gap-32	{ 
  --gap-x: 8rem; 
  --gap-y: 8rem;
}
.c-gap-40	{ 
  --gap-x: 10rem; 
  --gap-y: 10rem;
}
.c-gap-48	{ 
  --gap-x: 12rem; 
  --gap-y: 12rem;
}
.c-gap-56	{ 
  --gap-x: 14rem; 
  --gap-y: 14rem;
}
.c-gap-64	{ 
  --gap-x: 16rem; 
  --gap-y: 16rem;
}

/* x */

.c-gap-x-0 {
  --gap-x: 0px;
}
.c-gap-x-1 {
  --gap-x: 0.25rem;
}
.c-gap-x-2 {
  --gap-x: 0.5rem;
}
.c-gap-x-3	{ 
  --gap-x: 0.75rem; 
}
.c-gap-x-4	{ 
  --gap-x: 1rem; 
}
.c-gap-x-5	{ 
  --gap-x: 1.25rem; 
}
.c-gap-x-6	{ 
  --gap-x: 1.5rem; 
}
.c-gap-x-8	{ 
  --gap-x: 2rem; 
}
.c-gap-x-10	{ 
  --gap-x: 2.5rem; 
}
.c-gap-x-12	{ 
  --gap-x: 3rem; 
}
.c-gap-x-16	{ 
  --gap-x: 4rem; 
}
.c-gap-x-20	{ 
  --gap-x: 5rem; 
}
.c-gap-x-24	{ 
  --gap-x: 6rem; 
}
.c-gap-x-32	{ 
  --gap-x: 8rem; 
}
.c-gap-x-40	{ 
  --gap-x: 10rem; 
}
.c-gap-x-48	{ 
  --gap-x: 12rem; 
}
.c-gap-x-56	{ 
  --gap-x: 14rem; 
}
.c-gap-x-64	{ 
  --gap-x: 16rem; 
}

/* y */

.c-gap-y-0 {
  --gap-y: 0px;
}
.c-gap-y-1 {
  --gap-y: 0.25rem;
}
.c-gap-y-2 {
  --gap-y: 0.5rem;
}
.c-gap-y-3	{ 
  --gap-y: 0.75rem; 
}
.c-gap-y-4	{ 
  --gap-y: 1rem; 
}
.c-gap-y-5	{ 
  --gap-y: 1.25rem; 
}
.c-gap-y-6	{ 
  --gap-y: 1.5rem; 
}
.c-gap-y-8	{ 
  --gap-y: 2rem; 
}
.c-gap-y-10	{ 
  --gap-y: 2.5rem; 
}
.c-gap-y-12	{ 
  --gap-y: 3rem; 
}
.c-gap-y-16	{ 
  --gap-y: 4rem; 
}
.c-gap-y-20	{ 
  --gap-y: 5rem; 
}
.c-gap-y-24	{ 
  --gap-y: 6rem; 
}
.c-gap-y-32	{ 
  --gap-y: 8rem; 
}
.c-gap-y-40	{ 
  --gap-y: 10rem; 
}
.c-gap-y-48	{ 
  --gap-y: 12rem; 
}
.c-gap-y-56	{ 
  --gap-y: 14rem; 
}
.c-gap-y-64	{ 
  --gap-y: 16rem; 
}
