  /*  ==========================================================================
	Base
==========================================================================  */
*, *::before, *::after {
	box-sizing: border-box;
}
* {
	margin: 0;
}
html {
  -moz-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
	position: relative;
	color: var(--color-text-dark);
	font-family: var(--font-family-primary);
	line-height: var(--line-height-normal);
}
img, picture, video, canvas, svg {
	display: block;
	max-width: 100%;
}
input, button, textarea, select {
	font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
	overflow-wrap: break-word;
}
h1, h2, h3, h4, h5, h6 {
	text-wrap: balance;
}
ul[role='list'],
ol[role='list'] {
	list-style: none;
	padding-left: 0;
}
hr {
	background-color: var(--color-neutral-softblack);
	border: 0;
	margin: 1.5em 0;
	height: 1px;
	width: 100%;
}
button {
	cursor: pointer;
}

a, 
a:visited {
	color: var(--color-primary-usfgreen);
	font-weight: 600;
	text-underline-offset: var(--space-1);
	transition: color 0.3s, background-color 0.3s, text-decoration-color 0.3s;
}
a:hover,
a:active,
a:focus {
	color: #000;
}

p a:hover,
p a:active,
p a:focus {
	background-color: var(--color-secondary-evergreen);
	color: var(--color-primary-gold);
	text-decoration-color: var(--color-secondary-evergreen);
}




/*  ==========================================================================
	Accessibility
==========================================================================  */
.u-hidden,
.skip-link {
	position: absolute;
	width: 1px;
	height: 1px;
	left: -99999px;
	top: auto;
	overflow: hidden;
}
.skip-link:focus,
.skip-link:active {
	position: static;
	width: auto;
	height: auto;
}


/*  ==========================================================================
	Typography
==========================================================================  */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-justify { text-align: justify; }

.text-bold { font-weight: 700; }
.text-semibold { font-weight: 600; }
.text-medium { font-weight: 500; }
.text-regular { font-weight: 400; }
.text-light { font-weight: 300; }

.text-italic { font-style: italic; }

.text-uppercase { text-transform: uppercase; }
.text-lowercase { text-transform: lowercase; }
.text-capitalize { text-transform: capitalize; }

.text-muted { color: var(--color-text-muted); }


/*  ==========================================================================
	Images
==========================================================================  */
.img-cover { object-fit: cover; }
.img-contain { object-fit: contain; }
.img-auto { height: auto; width: 100%; }


/*  ==========================================================================
	Layout
==========================================================================  */
.container {
	width: 100%;
	max-width: var(--container-max-width);
	margin-left: auto;
	margin-right: auto;
}
.u-col-count-2 { columns: 2; }
.u-col-count-3 { columns: 3; }


/*  ==========================================================================
	Margins
==========================================================================  */
.m-0 { margin: 0; }
.m-1 { margin: var(--space-1); }
.m-2 { margin: var(--space-2); }
.m-3 { margin: var(--space-3); }
.m-4 { margin: var(--space-4); }
.m-5 { margin: var(--space-5); }
.m-6 { margin: var(--space-6); }
.m-7 { margin: var(--space-7); }

.mx-0 { margin-left: 0; margin-right: 0; }
.mx-1 { margin-left: var(--space-1); margin-right: var(--space-1); }
.mx-2 { margin-left: var(--space-2); margin-right: var(--space-2); }
.mx-3 { margin-left: var(--space-3); margin-right: var(--space-3); }
.mx-4 { margin-left: var(--space-4); margin-right: var(--space-4); }
.mx-5 { margin-left: var(--space-5); margin-right: var(--space-5); }
.mx-6 { margin-left: var(--space-6); margin-right: var(--space-6); }
.mx-7 { margin-left: var(--space-7); margin-right: var(--space-7); }

.my-0 { margin-top: 0; margin-bottom: 0; }
.my-1 { margin-top: var(--space-1); margin-bottom: var(--space-1); }
.my-2 { margin-top: var(--space-2); margin-bottom: var(--space-2); }
.my-3 { margin-top: var(--space-3); margin-bottom: var(--space-3); }
.my-4 { margin-top: var(--space-4); margin-bottom: var(--space-4); }
.my-5 { margin-top: var(--space-5); margin-bottom: var(--space-5); }
.my-6 { margin-top: var(--space-6); margin-bottom: var(--space-6); }
.my-7 { margin-top: var(--space-7); margin-bottom: var(--space-7); }

.mt-0 { margin-top: 0; }
.mt-1 { margin-top: var(--space-1); }
.mt-2 { margin-top: var(--space-2); }
.mt-3 { margin-top: var(--space-3); }
.mt-4 { margin-top: var(--space-4); }
.mt-5 { margin-top: var(--space-5); }
.mt-6 { margin-top: var(--space-6); }
.mt-7 { margin-top: var(--space-7); }

.mr-0 { margin-right: 0; }
.mr-1 { margin-right: var(--space-1); }
.mr-2 { margin-right: var(--space-2); }
.mr-3 { margin-right: var(--space-3); }
.mr-4 { margin-right: var(--space-4); }
.mr-5 { margin-right: var(--space-5); }
.mr-6 { margin-right: var(--space-6); }
.mr-7 { margin-right: var(--space-7); }

.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: var(--space-1); }
.mb-2 { margin-bottom: var(--space-2); }
.mb-3 { margin-bottom: var(--space-3); }
.mb-4 { margin-bottom: var(--space-4); }
.mb-5 { margin-bottom: var(--space-5); }
.mb-6 { margin-bottom: var(--space-6); }
.mb-7 { margin-bottom: var(--space-7); }

.ml-0 { margin-left: 0; }
.ml-1 { margin-left: var(--space-1); }
.ml-2 { margin-left: var(--space-2); }
.ml-3 { margin-left: var(--space-3); }
.ml-4 { margin-left: var(--space-4); }
.ml-5 { margin-left: var(--space-5); }
.ml-6 { margin-left: var(--space-6); }
.ml-7 { margin-left: var(--space-7); }

@media (min-width: 480px) {
	.m-0-xs { margin: 0; }
	.m-1-xs { margin: var(--space-1); }
	.m-2-xs { margin: var(--space-2); }
	.m-3-xs { margin: var(--space-3); }
	.m-4-xs { margin: var(--space-4); }
	.m-5-xs { margin: var(--space-5); }
	.m-6-xs { margin: var(--space-6); }
	.m-7-xs { margin: var(--space-7); }

	.mx-0-xs { margin-left: 0; margin-right: 0; }
	.mx-1-xs { margin-left: var(--space-1); margin-right: var(--space-1); }
	.mx-2-xs { margin-left: var(--space-2); margin-right: var(--space-2); }
	.mx-3-xs { margin-left: var(--space-3); margin-right: var(--space-3); }
	.mx-4-xs { margin-left: var(--space-4); margin-right: var(--space-4); }
	.mx-5-xs { margin-left: var(--space-5); margin-right: var(--space-5); }
	.mx-6-xs { margin-left: var(--space-6); margin-right: var(--space-6); }
	.mx-7-xs { margin-left: var(--space-7); margin-right: var(--space-7); }

	.my-0-xs { margin-top: 0; margin-bottom: 0; }
	.my-1-xs { margin-top: var(--space-1); margin-bottom: var(--space-1); }
	.my-2-xs { margin-top: var(--space-2); margin-bottom: var(--space-2); }
	.my-3-xs { margin-top: var(--space-3); margin-bottom: var(--space-3); }
	.my-4-xs { margin-top: var(--space-4); margin-bottom: var(--space-4); }
	.my-5-xs { margin-top: var(--space-5); margin-bottom: var(--space-5); }
	.my-6-xs { margin-top: var(--space-6); margin-bottom: var(--space-6); }
	.my-7-xs { margin-top: var(--space-7); margin-bottom: var(--space-7); }

	.mt-0-xs { margin-top: 0; }
	.mt-1-xs { margin-top: var(--space-1); }
	.mt-2-xs { margin-top: var(--space-2); }
	.mt-3-xs { margin-top: var(--space-3); }
	.mt-4-xs { margin-top: var(--space-4); }
	.mt-5-xs { margin-top: var(--space-5); }
	.mt-6-xs { margin-top: var(--space-6); }
	.mt-7-xs { margin-top: var(--space-7); }

	.mr-0-xs { margin-right: 0; }
	.mr-1-xs { margin-right: var(--space-1); }
	.mr-2-xs { margin-right: var(--space-2); }
	.mr-3-xs { margin-right: var(--space-3); }
	.mr-4-xs { margin-right: var(--space-4); }
	.mr-5-xs { margin-right: var(--space-5); }
	.mr-6-xs { margin-right: var(--space-6); }
	.mr-7-xs { margin-right: var(--space-7); }

	.mb-0-xs { margin-bottom: 0; }
	.mb-1-xs { margin-bottom: var(--space-1); }
	.mb-2-xs { margin-bottom: var(--space-2); }
	.mb-3-xs { margin-bottom: var(--space-3); }
	.mb-4-xs { margin-bottom: var(--space-4); }
	.mb-5-xs { margin-bottom: var(--space-5); }
	.mb-6-xs { margin-bottom: var(--space-6); }
	.mb-7-xs { margin-bottom: var(--space-7); }

	.ml-0-xs { margin-left: 0; }
	.ml-1-xs { margin-left: var(--space-1); }
	.ml-2-xs { margin-left: var(--space-2); }
	.ml-3-xs { margin-left: var(--space-3); }
	.ml-4-xs { margin-left: var(--space-4); }
	.ml-5-xs { margin-left: var(--space-5); }
	.ml-6-xs { margin-left: var(--space-6); }
	.ml-7-xs { margin-left: var(--space-7); }
}

@media (min-width: 768px) {
	.m-0-sm { margin: 0; }
	.m-1-sm { margin: var(--space-1); }
	.m-2-sm { margin: var(--space-2); }
	.m-3-sm { margin: var(--space-3); }
	.m-4-sm { margin: var(--space-4); }
	.m-5-sm { margin: var(--space-5); }
	.m-6-sm { margin: var(--space-6); }
	.m-7-sm { margin: var(--space-7); }

	.mx-0-sm { margin-left: 0; margin-right: 0; }
	.mx-1-sm { margin-left: var(--space-1); margin-right: var(--space-1); }
	.mx-2-sm { margin-left: var(--space-2); margin-right: var(--space-2); }
	.mx-3-sm { margin-left: var(--space-3); margin-right: var(--space-3); }
	.mx-4-sm { margin-left: var(--space-4); margin-right: var(--space-4); }
	.mx-5-sm { margin-left: var(--space-5); margin-right: var(--space-5); }
	.mx-6-sm { margin-left: var(--space-6); margin-right: var(--space-6); }
	.mx-7-sm { margin-left: var(--space-7); margin-right: var(--space-7); }

	.my-0-sm { margin-top: 0; margin-bottom: 0; }
	.my-1-sm { margin-top: var(--space-1); margin-bottom: var(--space-1); }
	.my-2-sm { margin-top: var(--space-2); margin-bottom: var(--space-2); }
	.my-3-sm { margin-top: var(--space-3); margin-bottom: var(--space-3); }
	.my-4-sm { margin-top: var(--space-4); margin-bottom: var(--space-4); }
	.my-5-sm { margin-top: var(--space-5); margin-bottom: var(--space-5); }
	.my-6-sm { margin-top: var(--space-6); margin-bottom: var(--space-6); }
	.my-7-sm { margin-top: var(--space-7); margin-bottom: var(--space-7); }

	.mt-0-sm { margin-top: 0; }
	.mt-1-sm { margin-top: var(--space-1); }
	.mt-2-sm { margin-top: var(--space-2); }
	.mt-3-sm { margin-top: var(--space-3); }
	.mt-4-sm { margin-top: var(--space-4); }
	.mt-5-sm { margin-top: var(--space-5); }
	.mt-6-sm { margin-top: var(--space-6); }
	.mt-7-sm { margin-top: var(--space-7); }

	.mr-0-sm { margin-right: 0; }
	.mr-1-sm { margin-right: var(--space-1); }
	.mr-2-sm { margin-right: var(--space-2); }
	.mr-3-sm { margin-right: var(--space-3); }
	.mr-4-sm { margin-right: var(--space-4); }
	.mr-5-sm { margin-right: var(--space-5); }
	.mr-6-sm { margin-right: var(--space-6); }
	.mr-7-sm { margin-right: var(--space-7); }

	.mb-0-sm { margin-bottom: 0; }
	.mb-1-sm { margin-bottom: var(--space-1); }
	.mb-2-sm { margin-bottom: var(--space-2); }
	.mb-3-sm { margin-bottom: var(--space-3); }
	.mb-4-sm { margin-bottom: var(--space-4); }
	.mb-5-sm { margin-bottom: var(--space-5); }
	.mb-6-sm { margin-bottom: var(--space-6); }
	.mb-7-sm { margin-bottom: var(--space-7); }

	.ml-0-sm { margin-left: 0; }
	.ml-1-sm { margin-left: var(--space-1); }
	.ml-2-sm { margin-left: var(--space-2); }
	.ml-3-sm { margin-left: var(--space-3); }
	.ml-4-sm { margin-left: var(--space-4); }
	.ml-5-sm { margin-left: var(--space-5); }
	.ml-6-sm { margin-left: var(--space-6); }
	.ml-7-sm { margin-left: var(--space-7); }
}

@media (min-width: 1024px) {
	.m-0-md { margin: 0; }
	.m-1-md { margin: var(--space-1); }
	.m-2-md { margin: var(--space-2); }
	.m-3-md { margin: var(--space-3); }
	.m-4-md { margin: var(--space-4); }
	.m-5-md { margin: var(--space-5); }
	.m-6-md { margin: var(--space-6); }
	.m-7-md { margin: var(--space-7); }

	.mx-0-md { margin-left: 0; margin-right: 0; }
	.mx-1-md { margin-left: var(--space-1); margin-right: var(--space-1); }
	.mx-2-md { margin-left: var(--space-2); margin-right: var(--space-2); }
	.mx-3-md { margin-left: var(--space-3); margin-right: var(--space-3); }
	.mx-4-md { margin-left: var(--space-4); margin-right: var(--space-4); }
	.mx-5-md { margin-left: var(--space-5); margin-right: var(--space-5); }
	.mx-6-md { margin-left: var(--space-6); margin-right: var(--space-6); }
	.mx-7-md { margin-left: var(--space-7); margin-right: var(--space-7); }

	.my-0-md { margin-top: 0; margin-bottom: 0; }
	.my-1-md { margin-top: var(--space-1); margin-bottom: var(--space-1); }
	.my-2-md { margin-top: var(--space-2); margin-bottom: var(--space-2); }
	.my-3-md { margin-top: var(--space-3); margin-bottom: var(--space-3); }
	.my-4-md { margin-top: var(--space-4); margin-bottom: var(--space-4); }
	.my-5-md { margin-top: var(--space-5); margin-bottom: var(--space-5); }
	.my-6-md { margin-top: var(--space-6); margin-bottom: var(--space-6); }
	.my-7-md { margin-top: var(--space-7); margin-bottom: var(--space-7); }

	.mt-0-md { margin-top: 0; }
	.mt-1-md { margin-top: var(--space-1); }
	.mt-2-md { margin-top: var(--space-2); }
	.mt-3-md { margin-top: var(--space-3); }
	.mt-4-md { margin-top: var(--space-4); }
	.mt-5-md { margin-top: var(--space-5); }
	.mt-6-md { margin-top: var(--space-6); }
	.mt-7-md { margin-top: var(--space-7); }

	.mr-0-md { margin-right: 0; }
	.mr-1-md { margin-right: var(--space-1); }
	.mr-2-md { margin-right: var(--space-2); }
	.mr-3-md { margin-right: var(--space-3); }
	.mr-4-md { margin-right: var(--space-4); }
	.mr-5-md { margin-right: var(--space-5); }
	.mr-6-md { margin-right: var(--space-6); }
	.mr-7-md { margin-right: var(--space-7); }

	.mb-0-md { margin-bottom: 0; }
	.mb-1-md { margin-bottom: var(--space-1); }
	.mb-2-md { margin-bottom: var(--space-2); }
	.mb-3-md { margin-bottom: var(--space-3); }
	.mb-4-md { margin-bottom: var(--space-4); }
	.mb-5-md { margin-bottom: var(--space-5); }
	.mb-6-md { margin-bottom: var(--space-6); }
	.mb-7-md { margin-bottom: var(--space-7); }

	.ml-0-md { margin-left: 0; }
	.ml-1-md { margin-left: var(--space-1); }
	.ml-2-md { margin-left: var(--space-2); }
	.ml-3-md { margin-left: var(--space-3); }
	.ml-4-md { margin-left: var(--space-4); }
	.ml-5-md { margin-left: var(--space-5); }
	.ml-6-md { margin-left: var(--space-6); }
	.ml-7-md { margin-left: var(--space-7); }
}

@media (min-width: 1280px) {
	.m-0-lg { margin: 0; }
	.m-1-lg { margin: var(--space-1); }
	.m-2-lg { margin: var(--space-2); }
	.m-3-lg { margin: var(--space-3); }
	.m-4-lg { margin: var(--space-4); }
	.m-5-lg { margin: var(--space-5); }
	.m-6-lg { margin: var(--space-6); }
	.m-7-lg { margin: var(--space-7); }

	.mx-0-lg { margin-left: 0; margin-right: 0; }
	.mx-1-lg { margin-left: var(--space-1); margin-right: var(--space-1); }
	.mx-2-lg { margin-left: var(--space-2); margin-right: var(--space-2); }
	.mx-3-lg { margin-left: var(--space-3); margin-right: var(--space-3); }
	.mx-4-lg { margin-left: var(--space-4); margin-right: var(--space-4); }
	.mx-5-lg { margin-left: var(--space-5); margin-right: var(--space-5); }
	.mx-6-lg { margin-left: var(--space-6); margin-right: var(--space-6); }
	.mx-7-lg { margin-left: var(--space-7); margin-right: var(--space-7); }

	.my-0-lg { margin-top: 0; margin-bottom: 0; }
	.my-1-lg { margin-top: var(--space-1); margin-bottom: var(--space-1); }
	.my-2-lg { margin-top: var(--space-2); margin-bottom: var(--space-2); }
	.my-3-lg { margin-top: var(--space-3); margin-bottom: var(--space-3); }
	.my-4-lg { margin-top: var(--space-4); margin-bottom: var(--space-4); }
	.my-5-lg { margin-top: var(--space-5); margin-bottom: var(--space-5); }
	.my-6-lg { margin-top: var(--space-6); margin-bottom: var(--space-6); }
	.my-7-lg { margin-top: var(--space-7); margin-bottom: var(--space-7); }

	.mt-0-lg { margin-top: 0; }
	.mt-1-lg { margin-top: var(--space-1); }
	.mt-2-lg { margin-top: var(--space-2); }
	.mt-3-lg { margin-top: var(--space-3); }
	.mt-4-lg { margin-top: var(--space-4); }
	.mt-5-lg { margin-top: var(--space-5); }
	.mt-6-lg { margin-top: var(--space-6); }
	.mt-7-lg { margin-top: var(--space-7); }

	.mr-0-lg { margin-right: 0; }
	.mr-1-lg { margin-right: var(--space-1); }
	.mr-2-lg { margin-right: var(--space-2); }
	.mr-3-lg { margin-right: var(--space-3); }
	.mr-4-lg { margin-right: var(--space-4); }
	.mr-5-lg { margin-right: var(--space-5); }
	.mr-6-lg { margin-right: var(--space-6); }
	.mr-7-lg { margin-right: var(--space-7); }

	.mb-0-lg { margin-bottom: 0; }
	.mb-1-lg { margin-bottom: var(--space-1); }
	.mb-2-lg { margin-bottom: var(--space-2); }
	.mb-3-lg { margin-bottom: var(--space-3); }
	.mb-4-lg { margin-bottom: var(--space-4); }
	.mb-5-lg { margin-bottom: var(--space-5); }
	.mb-6-lg { margin-bottom: var(--space-6); }
	.mb-7-lg { margin-bottom: var(--space-7); }

	.ml-0-lg { margin-left: 0; }
	.ml-1-lg { margin-left: var(--space-1); }
	.ml-2-lg { margin-left: var(--space-2); }
	.ml-3-lg { margin-left: var(--space-3); }
	.ml-4-lg { margin-left: var(--space-4); }
	.ml-5-lg { margin-left: var(--space-5); }
	.ml-6-lg { margin-left: var(--space-6); }
	.ml-7-lg { margin-left: var(--space-7); }
}


/*  ==========================================================================
	Padding
==========================================================================  */
.p-0 { padding: 0; }
.p-1 { padding: var(--space-1); }
.p-2 { padding: var(--space-2); }
.p-3 { padding: var(--space-3); }
.p-4 { padding: var(--space-4); }
.p-5 { padding: var(--space-5); }
.p-6 { padding: var(--space-6); }
.p-7 { padding: var(--space-7); }

.px-0 { padding-left: 0; padding-right: 0; }
.px-1 { padding-left: var(--space-1); padding-right: var(--space-1); }
.px-2 { padding-left: var(--space-2); padding-right: var(--space-2); }
.px-3 { padding-left: var(--space-3); padding-right: var(--space-3); }
.px-4 { padding-left: var(--space-4); padding-right: var(--space-4); }
.px-5 { padding-left: var(--space-5); padding-right: var(--space-5); }
.px-6 { padding-left: var(--space-6); padding-right: var(--space-6); }
.px-7 { padding-left: var(--space-7); padding-right: var(--space-7); }

.py-0 { padding-top: 0; padding-bottom: 0; }
.py-1 { padding-top: var(--space-1); padding-bottom: var(--space-1); }
.py-2 { padding-top: var(--space-2); padding-bottom: var(--space-2); }
.py-3 { padding-top: var(--space-3); padding-bottom: var(--space-3); }
.py-4 { padding-top: var(--space-4); padding-bottom: var(--space-4); }
.py-5 { padding-top: var(--space-5); padding-bottom: var(--space-5); }
.py-6 { padding-top: var(--space-6); padding-bottom: var(--space-6); }
.py-7 { padding-top: var(--space-7); padding-bottom: var(--space-7); }

.pt-0 { padding-top: 0; }
.pt-1 { padding-top: var(--space-1); }
.pt-2 { padding-top: var(--space-2); }
.pt-3 { padding-top: var(--space-3); }
.pt-4 { padding-top: var(--space-4); }
.pt-5 { padding-top: var(--space-5); }
.pt-6 { padding-top: var(--space-6); }
.pt-7 { padding-top: var(--space-7); }

.pr-0 { padding-right: 0; }
.pr-1 { padding-right: var(--space-1); }
.pr-2 { padding-right: var(--space-2); }
.pr-3 { padding-right: var(--space-3); }
.pr-4 { padding-right: var(--space-4); }
.pr-5 { padding-right: var(--space-5); }
.pr-6 { padding-right: var(--space-6); }
.pr-7 { padding-right: var(--space-7); }

.pb-0 { padding-bottom: 0; }
.pb-1 { padding-bottom: var(--space-1); }
.pb-2 { padding-bottom: var(--space-2); }
.pb-3 { padding-bottom: var(--space-3); }
.pb-4 { padding-bottom: var(--space-4); }
.pb-5 { padding-bottom: var(--space-5); }
.pb-6 { padding-bottom: var(--space-6); }
.pb-7 { padding-bottom: var(--space-7); }

.pl-0 { padding-left: 0; }
.pl-1 { padding-left: var(--space-1); }
.pl-2 { padding-left: var(--space-2); }
.pl-3 { padding-left: var(--space-3); }
.pl-4 { padding-left: var(--space-4); }
.pl-5 { padding-left: var(--space-5); }
.pl-6 { padding-left: var(--space-6); }
.pl-7 { padding-left: var(--space-7); }

@media (min-width: 480px) {
	.p-0-xs { margin: 0; }
	.p-1-xs { margin: var(--space-1); }
	.p-2-xs { margin: var(--space-2); }
	.p-3-xs { margin: var(--space-3); }
	.p-4-xs { margin: var(--space-4); }
	.p-5-xs { margin: var(--space-5); }
	.p-6-xs { margin: var(--space-6); }
	.p-7-xs { margin: var(--space-7); }

	.px-0-xs { padding-left: 0; padding-right: 0; }
	.px-1-xs { padding-left: var(--space-1); padding-right: var(--space-1); }
	.px-2-xs { padding-left: var(--space-2); padding-right: var(--space-2); }
	.px-3-xs { padding-left: var(--space-3); padding-right: var(--space-3); }
	.px-4-xs { padding-left: var(--space-4); padding-right: var(--space-4); }
	.px-5-xs { padding-left: var(--space-5); padding-right: var(--space-5); }
	.px-6-xs { padding-left: var(--space-6); padding-right: var(--space-6); }
	.px-7-xs { padding-left: var(--space-7); padding-right: var(--space-7); }

	.py-0-xs { padding-top: 0; padding-bottom: 0; }
	.py-1-xs { padding-top: var(--space-1); padding-bottom: var(--space-1); }
	.py-2-xs { padding-top: var(--space-2); padding-bottom: var(--space-2); }
	.py-3-xs { padding-top: var(--space-3); padding-bottom: var(--space-3); }
	.py-4-xs { padding-top: var(--space-4); padding-bottom: var(--space-4); }
	.py-5-xs { padding-top: var(--space-5); padding-bottom: var(--space-5); }
	.py-6-xs { padding-top: var(--space-6); padding-bottom: var(--space-6); }
	.py-7-xs { padding-top: var(--space-7); padding-bottom: var(--space-7); }

	.pt-0-xs { padding-top: 0; }
	.pt-1-xs { padding-top: var(--space-1); }
	.pt-2-xs { padding-top: var(--space-2); }
	.pt-3-xs { padding-top: var(--space-3); }
	.pt-4-xs { padding-top: var(--space-4); }
	.pt-5-xs { padding-top: var(--space-5); }
	.pt-6-xs { padding-top: var(--space-6); }
	.pt-7-xs { padding-top: var(--space-7); }

	.pr-0-xs { padding-right: 0; }
	.pr-1-xs { padding-right: var(--space-1); }
	.pr-2-xs { padding-right: var(--space-2); }
	.pr-3-xs { padding-right: var(--space-3); }
	.pr-4-xs { padding-right: var(--space-4); }
	.pr-5-xs { padding-right: var(--space-5); }
	.pr-6-xs { padding-right: var(--space-6); }
	.pr-7-xs { padding-right: var(--space-7); }

	.pb-0-xs { padding-bottom: 0; }
	.pb-1-xs { padding-bottom: var(--space-1); }
	.pb-2-xs { padding-bottom: var(--space-2); }
	.pb-3-xs { padding-bottom: var(--space-3); }
	.pb-4-xs { padding-bottom: var(--space-4); }
	.pb-5-xs { padding-bottom: var(--space-5); }
	.pb-6-xs { padding-bottom: var(--space-6); }
	.pb-7-xs { padding-bottom: var(--space-7); }

	.pl-0-xs { padding-left: 0; }
	.pl-1-xs { padding-left: var(--space-1); }
	.pl-2-xs { padding-left: var(--space-2); }
	.pl-3-xs { padding-left: var(--space-3); }
	.pl-4-xs { padding-left: var(--space-4); }
	.pl-5-xs { padding-left: var(--space-5); }
	.pl-6-xs { padding-left: var(--space-6); }
	.pl-7-xs { padding-left: var(--space-7); }
}

@media (min-width: 768px) {
	.p-0-sm { margin: 0; }
	.p-1-sm { margin: var(--space-1); }
	.p-2-sm { margin: var(--space-2); }
	.p-3-sm { margin: var(--space-3); }
	.p-4-sm { margin: var(--space-4); }
	.p-5-sm { margin: var(--space-5); }
	.p-6-sm { margin: var(--space-6); }
	.p-7-sm { margin: var(--space-7); }

	.px-0-sm { padding-left: 0; padding-right: 0; }
	.px-1-sm { padding-left: var(--space-1); padding-right: var(--space-1); }
	.px-2-sm { padding-left: var(--space-2); padding-right: var(--space-2); }
	.px-3-sm { padding-left: var(--space-3); padding-right: var(--space-3); }
	.px-4-sm { padding-left: var(--space-4); padding-right: var(--space-4); }
	.px-5-sm { padding-left: var(--space-5); padding-right: var(--space-5); }
	.px-6-sm { padding-left: var(--space-6); padding-right: var(--space-6); }
	.px-7-sm { padding-left: var(--space-7); padding-right: var(--space-7); }

	.py-0-sm { padding-top: 0; padding-bottom: 0; }
	.py-1-sm { padding-top: var(--space-1); padding-bottom: var(--space-1); }
	.py-2-sm { padding-top: var(--space-2); padding-bottom: var(--space-2); }
	.py-3-sm { padding-top: var(--space-3); padding-bottom: var(--space-3); }
	.py-4-sm { padding-top: var(--space-4); padding-bottom: var(--space-4); }
	.py-5-sm { padding-top: var(--space-5); padding-bottom: var(--space-5); }
	.py-6-sm { padding-top: var(--space-6); padding-bottom: var(--space-6); }
	.py-7-sm { padding-top: var(--space-7); padding-bottom: var(--space-7); }

	.pt-0-sm { padding-top: 0; }
	.pt-1-sm { padding-top: var(--space-1); }
	.pt-2-sm { padding-top: var(--space-2); }
	.pt-3-sm { padding-top: var(--space-3); }
	.pt-4-sm { padding-top: var(--space-4); }
	.pt-5-sm { padding-top: var(--space-5); }
	.pt-6-sm { padding-top: var(--space-6); }
	.pt-7-sm { padding-top: var(--space-7); }

	.pr-0-sm { padding-right: 0; }
	.pr-1-sm { padding-right: var(--space-1); }
	.pr-2-sm { padding-right: var(--space-2); }
	.pr-3-sm { padding-right: var(--space-3); }
	.pr-4-sm { padding-right: var(--space-4); }
	.pr-5-sm { padding-right: var(--space-5); }
	.pr-6-sm { padding-right: var(--space-6); }
	.pr-7-sm { padding-right: var(--space-7); }

	.pb-0-sm { padding-bottom: 0; }
	.pb-1-sm { padding-bottom: var(--space-1); }
	.pb-2-sm { padding-bottom: var(--space-2); }
	.pb-3-sm { padding-bottom: var(--space-3); }
	.pb-4-sm { padding-bottom: var(--space-4); }
	.pb-5-sm { padding-bottom: var(--space-5); }
	.pb-6-sm { padding-bottom: var(--space-6); }
	.pb-7-sm { padding-bottom: var(--space-7); }

	.pl-0-sm { padding-left: 0; }
	.pl-1-sm { padding-left: var(--space-1); }
	.pl-2-sm { padding-left: var(--space-2); }
	.pl-3-sm { padding-left: var(--space-3); }
	.pl-4-sm { padding-left: var(--space-4); }
	.pl-5-sm { padding-left: var(--space-5); }
	.pl-6-sm { padding-left: var(--space-6); }
	.pl-7-sm { padding-left: var(--space-7); }
}

@media (min-width: 1024px) {
	.p-0-md { margin: 0; }
	.p-1-md { margin: var(--space-1); }
	.p-2-md { margin: var(--space-2); }
	.p-3-md { margin: var(--space-3); }
	.p-4-md { margin: var(--space-4); }
	.p-5-md { margin: var(--space-5); }
	.p-6-md { margin: var(--space-6); }
	.p-7-md { margin: var(--space-7); }

	.px-0-md { padding-left: 0; padding-right: 0; }
	.px-1-md { padding-left: var(--space-1); padding-right: var(--space-1); }
	.px-2-md { padding-left: var(--space-2); padding-right: var(--space-2); }
	.px-3-md { padding-left: var(--space-3); padding-right: var(--space-3); }
	.px-4-md { padding-left: var(--space-4); padding-right: var(--space-4); }
	.px-5-md { padding-left: var(--space-5); padding-right: var(--space-5); }
	.px-6-md { padding-left: var(--space-6); padding-right: var(--space-6); }
	.px-7-md { padding-left: var(--space-7); padding-right: var(--space-7); }

	.py-0-md { padding-top: 0; padding-bottom: 0; }
	.py-1-md { padding-top: var(--space-1); padding-bottom: var(--space-1); }
	.py-2-md { padding-top: var(--space-2); padding-bottom: var(--space-2); }
	.py-3-md { padding-top: var(--space-3); padding-bottom: var(--space-3); }
	.py-4-md { padding-top: var(--space-4); padding-bottom: var(--space-4); }
	.py-5-md { padding-top: var(--space-5); padding-bottom: var(--space-5); }
	.py-6-md { padding-top: var(--space-6); padding-bottom: var(--space-6); }
	.py-7-md { padding-top: var(--space-7); padding-bottom: var(--space-7); }

	.pt-0-md { padding-top: 0; }
	.pt-1-md { padding-top: var(--space-1); }
	.pt-2-md { padding-top: var(--space-2); }
	.pt-3-md { padding-top: var(--space-3); }
	.pt-4-md { padding-top: var(--space-4); }
	.pt-5-md { padding-top: var(--space-5); }
	.pt-6-md { padding-top: var(--space-6); }
	.pt-7-md { padding-top: var(--space-7); }

	.pr-0-md { padding-right: 0; }
	.pr-1-md { padding-right: var(--space-1); }
	.pr-2-md { padding-right: var(--space-2); }
	.pr-3-md { padding-right: var(--space-3); }
	.pr-4-md { padding-right: var(--space-4); }
	.pr-5-md { padding-right: var(--space-5); }
	.pr-6-md { padding-right: var(--space-6); }
	.pr-7-md { padding-right: var(--space-7); }

	.pb-0-md { padding-bottom: 0; }
	.pb-1-md { padding-bottom: var(--space-1); }
	.pb-2-md { padding-bottom: var(--space-2); }
	.pb-3-md { padding-bottom: var(--space-3); }
	.pb-4-md { padding-bottom: var(--space-4); }
	.pb-5-md { padding-bottom: var(--space-5); }
	.pb-6-md { padding-bottom: var(--space-6); }
	.pb-7-md { padding-bottom: var(--space-7); }

	.pl-0-md { padding-left: 0; }
	.pl-1-md { padding-left: var(--space-1); }
	.pl-2-md { padding-left: var(--space-2); }
	.pl-3-md { padding-left: var(--space-3); }
	.pl-4-md { padding-left: var(--space-4); }
	.pl-5-md { padding-left: var(--space-5); }
	.pl-6-md { padding-left: var(--space-6); }
	.pl-7-md { padding-left: var(--space-7); }
}

@media (min-width: 1280px) {
	.p-0-lg { margin: 0; }
	.p-1-lg { margin: var(--space-1); }
	.p-2-lg { margin: var(--space-2); }
	.p-3-lg { margin: var(--space-3); }
	.p-4-lg { margin: var(--space-4); }
	.p-5-lg { margin: var(--space-5); }
	.p-6-lg { margin: var(--space-6); }
	.p-7-lg { margin: var(--space-7); }

	.px-0-lg { padding-left: 0; padding-right: 0; }
	.px-1-lg { padding-left: var(--space-1); padding-right: var(--space-1); }
	.px-2-lg { padding-left: var(--space-2); padding-right: var(--space-2); }
	.px-3-lg { padding-left: var(--space-3); padding-right: var(--space-3); }
	.px-4-lg { padding-left: var(--space-4); padding-right: var(--space-4); }
	.px-5-lg { padding-left: var(--space-5); padding-right: var(--space-5); }
	.px-6-lg { padding-left: var(--space-6); padding-right: var(--space-6); }
	.px-7-lg { padding-left: var(--space-7); padding-right: var(--space-7); }

	.py-0-lg { padding-top: 0; padding-bottom: 0; }
	.py-1-lg { padding-top: var(--space-1); padding-bottom: var(--space-1); }
	.py-2-lg { padding-top: var(--space-2); padding-bottom: var(--space-2); }
	.py-3-lg { padding-top: var(--space-3); padding-bottom: var(--space-3); }
	.py-4-lg { padding-top: var(--space-4); padding-bottom: var(--space-4); }
	.py-5-lg { padding-top: var(--space-5); padding-bottom: var(--space-5); }
	.py-6-lg { padding-top: var(--space-6); padding-bottom: var(--space-6); }
	.py-7-lg { padding-top: var(--space-7); padding-bottom: var(--space-7); }

	.pt-0-lg { padding-top: 0; }
	.pt-1-lg { padding-top: var(--space-1); }
	.pt-2-lg { padding-top: var(--space-2); }
	.pt-3-lg { padding-top: var(--space-3); }
	.pt-4-lg { padding-top: var(--space-4); }
	.pt-5-lg { padding-top: var(--space-5); }
	.pt-6-lg { padding-top: var(--space-6); }
	.pt-7-lg { padding-top: var(--space-7); }

	.pr-0-lg { padding-right: 0; }
	.pr-1-lg { padding-right: var(--space-1); }
	.pr-2-lg { padding-right: var(--space-2); }
	.pr-3-lg { padding-right: var(--space-3); }
	.pr-4-lg { padding-right: var(--space-4); }
	.pr-5-lg { padding-right: var(--space-5); }
	.pr-6-lg { padding-right: var(--space-6); }
	.pr-7-lg { padding-right: var(--space-7); }

	.pb-0-lg { padding-bottom: 0; }
	.pb-1-lg { padding-bottom: var(--space-1); }
	.pb-2-lg { padding-bottom: var(--space-2); }
	.pb-3-lg { padding-bottom: var(--space-3); }
	.pb-4-lg { padding-bottom: var(--space-4); }
	.pb-5-lg { padding-bottom: var(--space-5); }
	.pb-6-lg { padding-bottom: var(--space-6); }
	.pb-7-lg { padding-bottom: var(--space-7); }

	.pl-0-lg { padding-left: 0; }
	.pl-1-lg { padding-left: var(--space-1); }
	.pl-2-lg { padding-left: var(--space-2); }
	.pl-3-lg { padding-left: var(--space-3); }
	.pl-4-lg { padding-left: var(--space-4); }
	.pl-5-lg { padding-left: var(--space-5); }
	.pl-6-lg { padding-left: var(--space-6); }
	.pl-7-lg { padding-left: var(--space-7); }
}


/*  ==========================================================================
	Grid/Flexbox Gap
==========================================================================  */
.gap-1 { gap: var(--space-1); }
.gap-2 { gap: var(--space-2); }
.gap-3 { gap: var(--space-3); }
.gap-4 { gap: var(--space-4); }
.gap-5 { gap: var(--space-5); }
.gap-6 { gap: var(--space-6); }
.gap-7 { gap: var(--space-7); }

.gap-row-1 { row-gap: var(--space-1); }
.gap-row-2 { row-gap: var(--space-2); }
.gap-row-3 { row-gap: var(--space-3); }
.gap-row-4 { row-gap: var(--space-4); }
.gap-row-5 { row-gap: var(--space-5); }
.gap-row-6 { row-gap: var(--space-6); }
.gap-row-7 { row-gap: var(--space-7); }

.gap-col-1 { column-gap: var(--space-1); }
.gap-col-2 { column-gap: var(--space-2); }
.gap-col-3 { column-gap: var(--space-3); }
.gap-col-4 { column-gap: var(--space-4); }
.gap-col-5 { column-gap: var(--space-5); }
.gap-col-6 { column-gap: var(--space-6); }
.gap-col-7 { column-gap: var(--space-7); }

@media (min-width: 480px) {
	.gap-0-xs { gap: 0; }
	.gap-1-xs { gap: var(--space-1); }
	.gap-2-xs { gap: var(--space-2); }
	.gap-3-xs { gap: var(--space-3); }
	.gap-4-xs { gap: var(--space-4); }
	.gap-5-xs { gap: var(--space-5); }
	.gap-6-xs { gap: var(--space-6); }
	.gap-7-xs { gap: var(--space-7); }
	
	.gap-row-1-xs { row-gap: var(--space-1); }
	.gap-row-2-xs { row-gap: var(--space-2); }
	.gap-row-3-xs { row-gap: var(--space-3); }
	.gap-row-4-xs { row-gap: var(--space-4); }
	.gap-row-5-xs { row-gap: var(--space-5); }
	.gap-row-6-xs { row-gap: var(--space-6); }
	.gap-row-7-xs { row-gap: var(--space-7); }
	
	.gap-col-1-xs { column-gap: var(--space-1); }
	.gap-col-2-xs { column-gap: var(--space-2); }
	.gap-col-3-xs { column-gap: var(--space-3); }
	.gap-col-4-xs { column-gap: var(--space-4); }
	.gap-col-5-xs { column-gap: var(--space-5); }
	.gap-col-6-xs { column-gap: var(--space-6); }
	.gap-col-7-xs { column-gap: var(--space-7); }
}

@media (min-width: 768px) {
	.gap-0-sm { gap: 0; }
	.gap-1-sm { gap: var(--space-1); }
	.gap-2-sm { gap: var(--space-2); }
	.gap-3-sm { gap: var(--space-3); }
	.gap-4-sm { gap: var(--space-4); }
	.gap-5-sm { gap: var(--space-5); }
	.gap-6-sm { gap: var(--space-6); }
	.gap-7-sm { gap: var(--space-7); }
	
	.gap-row-1-sm { row-gap: var(--space-1); }
	.gap-row-2-sm { row-gap: var(--space-2); }
	.gap-row-3-sm { row-gap: var(--space-3); }
	.gap-row-4-sm { row-gap: var(--space-4); }
	.gap-row-5-sm { row-gap: var(--space-5); }
	.gap-row-6-sm { row-gap: var(--space-6); }
	.gap-row-7-sm { row-gap: var(--space-7); }
	
	.gap-col-1-sm { column-gap: var(--space-1); }
	.gap-col-2-sm { column-gap: var(--space-2); }
	.gap-col-3-sm { column-gap: var(--space-3); }
	.gap-col-4-sm { column-gap: var(--space-4); }
	.gap-col-5-sm { column-gap: var(--space-5); }
	.gap-col-6-sm { column-gap: var(--space-6); }
	.gap-col-7-sm { column-gap: var(--space-7); }
}

@media (min-width: 1024px) {
	.gap-0-md { gap: 0; }
	.gap-1-md { gap: var(--space-1); }
	.gap-2-md { gap: var(--space-2); }
	.gap-3-md { gap: var(--space-3); }
	.gap-4-md { gap: var(--space-4); }
	.gap-5-md { gap: var(--space-5); }
	.gap-6-md { gap: var(--space-6); }
	.gap-7-md { gap: var(--space-7); }
	
	.gap-row-1-md { row-gap: var(--space-1); }
	.gap-row-2-md { row-gap: var(--space-2); }
	.gap-row-3-md { row-gap: var(--space-3); }
	.gap-row-4-md { row-gap: var(--space-4); }
	.gap-row-5-md { row-gap: var(--space-5); }
	.gap-row-6-md { row-gap: var(--space-6); }
	.gap-row-7-md { row-gap: var(--space-7); }
	
	.gap-col-1-md { column-gap: var(--space-1); }
	.gap-col-2-md { column-gap: var(--space-2); }
	.gap-col-3-md { column-gap: var(--space-3); }
	.gap-col-4-md { column-gap: var(--space-4); }
	.gap-col-5-md { column-gap: var(--space-5); }
	.gap-col-6-md { column-gap: var(--space-6); }
	.gap-col-7-md { column-gap: var(--space-7); }
}

@media (min-width: 1280px) {
	.gap-0-lg { gap: 0; }
	.gap-1-lg { gap: var(--space-1); }
	.gap-2-lg { gap: var(--space-2); }
	.gap-3-lg { gap: var(--space-3); }
	.gap-4-lg { gap: var(--space-4); }
	.gap-5-lg { gap: var(--space-5); }
	.gap-6-lg { gap: var(--space-6); }
	.gap-7-lg { gap: var(--space-7); }
	
	.gap-row-1-lg { row-gap: var(--space-1); }
	.gap-row-2-lg { row-gap: var(--space-2); }
	.gap-row-3-lg { row-gap: var(--space-3); }
	.gap-row-4-lg { row-gap: var(--space-4); }
	.gap-row-5-lg { row-gap: var(--space-5); }
	.gap-row-6-lg { row-gap: var(--space-6); }
	.gap-row-7-lg { row-gap: var(--space-7); }
	
	.gap-col-1-lg { column-gap: var(--space-1); }
	.gap-col-2-lg { column-gap: var(--space-2); }
	.gap-col-3-lg { column-gap: var(--space-3); }
	.gap-col-4-lg { column-gap: var(--space-4); }
	.gap-col-5-lg { column-gap: var(--space-5); }
	.gap-col-6-lg { column-gap: var(--space-6); }
	.gap-col-7-lg { column-gap: var(--space-7); }
}


/*  ==========================================================================
	Grid/Flexbox Alignment
==========================================================================  */
/* Justify Content */
.align-jc-start { justify-content: start; }
.align-jc-center { justify-content: center; }
.align-jc-end { justify-content: end; }
.align-jc-between { justify-content: space-between; }
.align-jc-around { justify-content: space-around; }
.align-jc-evenly { justify-content: space-evenly; }
.align-jc-flex-start { justify-content: flex-start; }
.align-jc-flex-end { justify-content: flex-end; }

/* Justify Items */
.align-ji-start { justify-items: start; }
.align-ji-center { justify-items: center; }
.align-ji-end { justify-items: end; }
.align-ji-stretch { justify-items: stretch; }

/* Justify Self */
.align-js-start { justify-self: start; }
.align-js-center { justify-self: center; }
.align-js-end { justify-self: end; }
.align-js-stretch { justify-self: stretch; }

/* Align Items */
.align-ai-start { align-items: start; }
.align-ai-center { align-items: center; }
.align-ai-end { align-items: end; }
.align-ai-stretch { align-items: stretch; }
.align-ai-baseline { align-items: baseline; }
.align-ai-flex-start { align-items: flex-start; }
.align-ai-flex-center { align-items: flex-end; }

/* Align Content */
.align-ac-start { align-content: start; }
.align-ac-center { align-content: center; }
.align-ac-end { align-content: end; }
.align-ac-between { align-content: space-between; }
.align-ac-around { align-content: space-around; }
.align-ac-stretch { align-content: stretch; }

/* Align Self */
.align-as-start { align-self: start; }
.align-as-center { align-self: center; }
.align-as-end { align-self: end; }
.align-as-stretch { align-self: stretch; }
.align-as-baseline { align-self: baseline; }
.align-as-flex-start { align-self: flex-start; }
.align-as-flex-end { align-self: flex-end; }

@media (min-width: 480px) {
	/* Justify Content */
	.align-jc-start-xs { justify-content: start; }
	.align-jc-center-xs { justify-content: center; }
	.align-jc-end-xs { justify-content: end; }
	.align-jc-between-xs { justify-content: space-between; }
	.align-jc-around-xs { justify-content: space-around; }
	.align-jc-evenly-xs { justify-content: space-evenly; }
	.align-jc-flex-start-xs { justify-content: flex-start; }
	.align-jc-flex-end-xs { justify-content: flex-end; }

	/* Justify Items */
	.align-ji-start-xs { justify-items: start; }
	.align-ji-center-xs { justify-items: center; }
	.align-ji-end-xs { justify-items: end; }
	.align-ji-stretch-xs { justify-items: stretch; }

	/* Justify Self */
	.align-js-start-xs { justify-self: start; }
	.align-js-center-xs { justify-self: center; }
	.align-js-end-xs { justify-self: end; }
	.align-js-stretch-xs { justify-self: stretch; }

	/* Align Items */
	.align-ai-start-xs { align-items: start; }
	.align-ai-center-xs { align-items: center; }
	.align-ai-end-xs { align-items: end; }
	.align-ai-stretch-xs { align-items: stretch; }
	.align-ai-baseline-xs { align-items: baseline; }
	.align-ai-flex-start-xs { align-items: flex-start; }
	.align-ai-flex-center-xs { align-items: flex-end; }

	/* Align Content */
	.align-ac-start-xs { align-content: start; }
	.align-ac-center-xs { align-content: center; }
	.align-ac-end-xs { align-content: end; }
	.align-ac-between-xs { align-content: space-between; }
	.align-ac-around-xs { align-content: space-around; }
	.align-ac-stretch-xs { align-content: stretch; }

	/* Align Self */
	.align-as-start-xs { align-self: start; }
	.align-as-center-xs { align-self: center; }
	.align-as-end-xs { align-self: end; }
	.align-as-stretch-xs { align-self: stretch; }
	.align-as-baseline-xs { align-self: baseline; }
	.align-as-flex-start-xs { align-self: flex-start; }
	.align-as-flex-end-xs { align-self: flex-end; }
}

@media (min-width: 768px) {
	/* Justify Content */
	.align-jc-start-sm { justify-content: start; }
	.align-jc-center-sm { justify-content: center; }
	.align-jc-end-sm { justify-content: end; }
	.align-jc-between-sm { justify-content: space-between; }
	.align-jc-around-sm { justify-content: space-around; }
	.align-jc-evenly-sm { justify-content: space-evenly; }
	.align-jc-flex-start-sm { justify-content: flex-start; }
	.align-jc-flex-end-sm { justify-content: flex-end; }

	/* Justify Items */
	.align-ji-start-sm { justify-items: start; }
	.align-ji-center-sm { justify-items: center; }
	.align-ji-end-sm { justify-items: end; }
	.align-ji-stretch-sm { justify-items: stretch; }

	/* Justify Self */
	.align-js-start-sm { justify-self: start; }
	.align-js-center-sm { justify-self: center; }
	.align-js-end-sm { justify-self: end; }
	.align-js-stretch-sm { justify-self: stretch; }

	/* Align Items */
	.align-ai-start-sm { align-items: start; }
	.align-ai-center-sm { align-items: center; }
	.align-ai-end-sm { align-items: end; }
	.align-ai-stretch-sm { align-items: stretch; }
	.align-ai-baseline-sm { align-items: baseline; }
	.align-ai-flex-start-sm { align-items: flex-start; }
	.align-ai-flex-center-sm { align-items: flex-end; }

	/* Align Content */
	.align-ac-start-sm { align-content: start; }
	.align-ac-center-sm { align-content: center; }
	.align-ac-end-sm { align-content: end; }
	.align-ac-between-sm { align-content: space-between; }
	.align-ac-around-sm { align-content: space-around; }
	.align-ac-stretch-sm { align-content: stretch; }

	/* Align Self */
	.align-as-start-sm { align-self: start; }
	.align-as-center-sm { align-self: center; }
	.align-as-end-sm { align-self: end; }
	.align-as-stretch-sm { align-self: stretch; }
	.align-as-baseline-sm { align-self: baseline; }
	.align-as-flex-start-sm { align-self: flex-start; }
	.align-as-flex-end-sm { align-self: flex-end; }
}

@media (min-width: 1024px) {
	/* Justify Content */
	.align-jc-start-md { justify-content: start; }
	.align-jc-center-md { justify-content: center; }
	.align-jc-end-md { justify-content: end; }
	.align-jc-between-md { justify-content: space-between; }
	.align-jc-around-md { justify-content: space-around; }
	.align-jc-evenly-md { justify-content: space-evenly; }
	.align-jc-flex-start-md { justify-content: flex-start; }
	.align-jc-flex-end-md { justify-content: flex-end; }

	/* Justify Items */
	.align-ji-start-md { justify-items: start; }
	.align-ji-center-md { justify-items: center; }
	.align-ji-end-md { justify-items: end; }
	.align-ji-stretch-md { justify-items: stretch; }

	/* Justify Self */
	.align-js-start-md { justify-self: start; }
	.align-js-center-md { justify-self: center; }
	.align-js-end-md { justify-self: end; }
	.align-js-stretch-md { justify-self: stretch; }

	/* Align Items */
	.align-ai-start-md { align-items: start; }
	.align-ai-center-md { align-items: center; }
	.align-ai-end-md { align-items: end; }
	.align-ai-stretch-md { align-items: stretch; }
	.align-ai-baseline-md { align-items: baseline; }
	.align-ai-flex-start-md { align-items: flex-start; }
	.align-ai-flex-center-md { align-items: flex-end; }

	/* Align Content */
	.align-ac-start-md { align-content: start; }
	.align-ac-center-md { align-content: center; }
	.align-ac-end-md { align-content: end; }
	.align-ac-between-md { align-content: space-between; }
	.align-ac-around-md { align-content: space-around; }
	.align-ac-stretch-md { align-content: stretch; }

	/* Align Self */
	.align-as-start-md { align-self: start; }
	.align-as-center-md { align-self: center; }
	.align-as-end-md { align-self: end; }
	.align-as-stretch-md { align-self: stretch; }
	.align-as-baseline-md { align-self: baseline; }
	.align-as-flex-start-md { align-self: flex-start; }
	.align-as-flex-end-md { align-self: flex-end; }
}

@media (min-width: 1280px) {
	/* Justify Content */
	.align-jc-start-lg { justify-content: start; }
	.align-jc-center-lg { justify-content: center; }
	.align-jc-end-lg { justify-content: end; }
	.align-jc-between-lg { justify-content: space-between; }
	.align-jc-around-lg { justify-content: space-around; }
	.align-jc-evenly-lg { justify-content: space-evenly; }
	.align-jc-flex-start-lg { justify-content: flex-start; }
	.align-jc-flex-end-lg { justify-content: flex-end; }

	/* Justify Items */
	.align-ji-start-lg { justify-items: start; }
	.align-ji-center-lg { justify-items: center; }
	.align-ji-end-lg { justify-items: end; }
	.align-ji-stretch-lg { justify-items: stretch; }

	/* Justify Self */
	.align-js-start-lg { justify-self: start; }
	.align-js-center-lg { justify-self: center; }
	.align-js-end-lg { justify-self: end; }
	.align-js-stretch-lg { justify-self: stretch; }

	/* Align Items */
	.align-ai-start-lg { align-items: start; }
	.align-ai-center-lg { align-items: center; }
	.align-ai-end-lg { align-items: end; }
	.align-ai-stretch-lg { align-items: stretch; }
	.align-ai-baseline-lg { align-items: baseline; }
	.align-ai-flex-start-lg { align-items: flex-start; }
	.align-ai-flex-center-lg { align-items: flex-end; }

	/* Align Content */
	.align-ac-start-lg { align-content: start; }
	.align-ac-center-lg { align-content: center; }
	.align-ac-end-lg { align-content: end; }
	.align-ac-between-lg { align-content: space-between; }
	.align-ac-around-lg { align-content: space-around; }
	.align-ac-stretch-lg { align-content: stretch; }

	/* Align Self */
	.align-as-start-lg { align-self: start; }
	.align-as-center-lg { align-self: center; }
	.align-as-end-lg { align-self: end; }
	.align-as-stretch-lg { align-self: stretch; }
	.align-as-baseline-lg { align-self: baseline; }
	.align-as-flex-start-lg { align-self: flex-start; }
	.align-as-flex-end-lg { align-self: flex-end; }
}


/*  ==========================================================================
	Grid System
==========================================================================  */
/* Grid Utilities */
.grid { display:grid; }

.grid-col-12 { grid-template-columns: repeat(12, 1fr); }
.grid-col-11 { grid-template-columns: repeat(11, 1fr); }
.grid-col-10 { grid-template-columns: repeat(10, 1fr); }
.grid-col-9 { grid-template-columns: repeat(9, 1fr); }
.grid-col-8 { grid-template-columns: repeat(8, 1fr); }
.grid-col-7 { grid-template-columns: repeat(7, 1fr); }
.grid-col-6 { grid-template-columns: repeat(6, 1fr); }
.grid-col-5 { grid-template-columns: repeat(5, 1fr); }
.grid-col-4 { grid-template-columns: repeat(4, 1fr); }
.grid-col-3 { grid-template-columns: repeat(3, 1fr); }
.grid-col-2 { grid-template-columns: repeat(2, 1fr); }
.grid-col-1 { grid-template-columns: repeat(1, 1fr); }

/* Column Starts */
.grid-col-start-1 { grid-column-start: 1; }
.grid-col-start-2 { grid-column-start: 2; }
.grid-col-start-3 { grid-column-start: 3; }
.grid-col-start-4 { grid-column-start: 4; }
.grid-col-start-5 { grid-column-start: 5; }
.grid-col-start-6 { grid-column-start: 6; }
.grid-col-start-7 { grid-column-start: 7; }
.grid-col-start-8 { grid-column-start: 8; }
.grid-col-start-9 { grid-column-start: 9; }
.grid-col-start-10 { grid-column-start: 10; }
.grid-col-start-11 { grid-column-start: 11; }
.grid-col-start-12 { grid-column-start: 12; }

/* Column Spans */
.grid-col-span-1 { grid-column-end: span 1; }
.grid-col-span-2 { grid-column-end: span 2; }
.grid-col-span-3 { grid-column-end: span 3; }
.grid-col-span-4 { grid-column-end: span 4; }
.grid-col-span-5 { grid-column-end: span 5; }
.grid-col-span-6 { grid-column-end: span 6; }
.grid-col-span-7 { grid-column-end: span 7; }
.grid-col-span-8 { grid-column-end: span 8; }
.grid-col-span-9 { grid-column-end: span 9; }
.grid-col-span-10 { grid-column-end: span 10; }
.grid-col-span-11 { grid-column-end: span 11; }
.grid-col-span-12 { grid-column-end: span 12; }

/* Row Starts */
.grid-row-start-1 { grid-row-start: 1; }
.grid-row-start-2 { grid-row-start: 2; }
.grid-row-start-3 { grid-row-start: 3; }


@media (min-width: 480px) {
	/* Grid Utilities */
	.grid-col-12-xs { grid-template-columns: repeat(12, 1fr); }
	.grid-col-11-xs { grid-template-columns: repeat(11, 1fr); }
	.grid-col-10-xs { grid-template-columns: repeat(10, 1fr); }
	.grid-col-9-xs { grid-template-columns: repeat(9, 1fr); }
	.grid-col-8-xs { grid-template-columns: repeat(8, 1fr); }
	.grid-col-7-xs { grid-template-columns: repeat(7, 1fr); }
	.grid-col-6-xs { grid-template-columns: repeat(6, 1fr); }
	.grid-col-5-xs { grid-template-columns: repeat(5, 1fr); }
	.grid-col-4-xs { grid-template-columns: repeat(4, 1fr); }
	.grid-col-3-xs { grid-template-columns: repeat(3, 1fr); }
	.grid-col-2-xs { grid-template-columns: repeat(2, 1fr); }
	.grid-col-1-xs { grid-template-columns: repeat(1, 1fr); }
	
	/* Column Starts */
	.grid-col-start-1-xs { grid-column-start: 1; }
	.grid-col-start-2-xs { grid-column-start: 2; }
	.grid-col-start-3-xs { grid-column-start: 3; }
	.grid-col-start-4-xs { grid-column-start: 4; }
	.grid-col-start-5-xs { grid-column-start: 5; }
	.grid-col-start-6-xs { grid-column-start: 6; }
	.grid-col-start-7-xs { grid-column-start: 7; }
	.grid-col-start-8-xs { grid-column-start: 8; }
	.grid-col-start-9-xs { grid-column-start: 9; }
	.grid-col-start-10-xs { grid-column-start: 10; }
	.grid-col-start-11-xs { grid-column-start: 11; }
	.grid-col-start-12-xs { grid-column-start: 12; }

	/* Column Spans */
	.grid-col-span-1-xs { grid-column-end: span 1; }
	.grid-col-span-2-xs { grid-column-end: span 2; }
	.grid-col-span-3-xs { grid-column-end: span 3; }
	.grid-col-span-4-xs { grid-column-end: span 4; }
	.grid-col-span-5-xs { grid-column-end: span 5; }
	.grid-col-span-6-xs { grid-column-end: span 6; }
	.grid-col-span-7-xs { grid-column-end: span 7; }
	.grid-col-span-8-xs { grid-column-end: span 8; }
	.grid-col-span-9-xs { grid-column-end: span 9; }
	.grid-col-span-10-xs { grid-column-end: span 10; }
	.grid-col-span-11-xs { grid-column-end: span 11; }
	.grid-col-span-12-xs { grid-column-end: span 12; }
	
	/* Row Starts */
	.grid-row-start-1-xs { grid-row-start: 1; }
	.grid-row-start-2-xs { grid-row-start: 2; }
	.grid-row-start-3-xs { grid-row-start: 3; }
}

@media (min-width: 768px) {
	/* Grid Utilities */
	.grid-col-12-sm { grid-template-columns: repeat(12, 1fr); }
	.grid-col-11-sm { grid-template-columns: repeat(11, 1fr); }
	.grid-col-10-sm { grid-template-columns: repeat(10, 1fr); }
	.grid-col-9-sm { grid-template-columns: repeat(9, 1fr); }
	.grid-col-8-sm { grid-template-columns: repeat(8, 1fr); }
	.grid-col-7-sm { grid-template-columns: repeat(7, 1fr); }
	.grid-col-6-sm { grid-template-columns: repeat(6, 1fr); }
	.grid-col-5-sm { grid-template-columns: repeat(5, 1fr); }
	.grid-col-4-sm { grid-template-columns: repeat(4, 1fr); }
	.grid-col-3-sm { grid-template-columns: repeat(3, 1fr); }
	.grid-col-2-sm { grid-template-columns: repeat(2, 1fr); }
	.grid-col-1-sm { grid-template-columns: repeat(1, 1fr); }
	
	/* Column Starts */
	.grid-col-start-1-sm { grid-column-start: 1; }
	.grid-col-start-2-sm { grid-column-start: 2; }
	.grid-col-start-3-sm { grid-column-start: 3; }
	.grid-col-start-4-sm { grid-column-start: 4; }
	.grid-col-start-5-sm { grid-column-start: 5; }
	.grid-col-start-6-sm { grid-column-start: 6; }
	.grid-col-start-7-sm { grid-column-start: 7; }
	.grid-col-start-8-sm { grid-column-start: 8; }
	.grid-col-start-9-sm { grid-column-start: 9; }
	.grid-col-start-10-sm { grid-column-start: 10; }
	.grid-col-start-11-sm { grid-column-start: 11; }
	.grid-col-start-12-sm { grid-column-start: 12; }

	/* Column Spans */
	.grid-col-span-1-sm { grid-column-end: span 1; }
	.grid-col-span-2-sm { grid-column-end: span 2; }
	.grid-col-span-3-sm { grid-column-end: span 3; }
	.grid-col-span-4-sm { grid-column-end: span 4; }
	.grid-col-span-5-sm { grid-column-end: span 5; }
	.grid-col-span-6-sm { grid-column-end: span 6; }
	.grid-col-span-7-sm { grid-column-end: span 7; }
	.grid-col-span-8-sm { grid-column-end: span 8; }
	.grid-col-span-9-sm { grid-column-end: span 9; }
	.grid-col-span-10-sm { grid-column-end: span 10; }
	.grid-col-span-11-sm { grid-column-end: span 11; }
	.grid-col-span-12-sm { grid-column-end: span 12; }
	
	/* Row Starts */
	.grid-row-start-1-sm { grid-row-start: 1; }
	.grid-row-start-2-sm { grid-row-start: 2; }
	.grid-row-start-3-sm { grid-row-start: 3; }
}

@media (min-width: 1024px) {
	/* Grid Utilities */
	.grid-col-12-md { grid-template-columns: repeat(12, 1fr); }
	.grid-col-11-md { grid-template-columns: repeat(11, 1fr); }
	.grid-col-10-md { grid-template-columns: repeat(10, 1fr); }
	.grid-col-9-md { grid-template-columns: repeat(9, 1fr); }
	.grid-col-8-md { grid-template-columns: repeat(8, 1fr); }
	.grid-col-7-md { grid-template-columns: repeat(7, 1fr); }
	.grid-col-6-md { grid-template-columns: repeat(6, 1fr); }
	.grid-col-5-md { grid-template-columns: repeat(5, 1fr); }
	.grid-col-4-md { grid-template-columns: repeat(4, 1fr); }
	.grid-col-3-md { grid-template-columns: repeat(3, 1fr); }
	.grid-col-2-md { grid-template-columns: repeat(2, 1fr); }
	.grid-col-1-md { grid-template-columns: repeat(1, 1fr); }
	
	/* Column Starts */
	.grid-col-start-1-md { grid-column-start: 1; }
	.grid-col-start-2-md { grid-column-start: 2; }
	.grid-col-start-3-md { grid-column-start: 3; }
	.grid-col-start-4-md { grid-column-start: 4; }
	.grid-col-start-5-md { grid-column-start: 5; }
	.grid-col-start-6-md { grid-column-start: 6; }
	.grid-col-start-7-md { grid-column-start: 7; }
	.grid-col-start-8-md { grid-column-start: 8; }
	.grid-col-start-9-md { grid-column-start: 9; }
	.grid-col-start-10-md { grid-column-start: 10; }
	.grid-col-start-11-md { grid-column-start: 11; }
	.grid-col-start-12-md { grid-column-start: 12; }

	/* Column Spans */
	.grid-col-span-1-md { grid-column-end: span 1; }
	.grid-col-span-2-md { grid-column-end: span 2; }
	.grid-col-span-3-md { grid-column-end: span 3; }
	.grid-col-span-4-md { grid-column-end: span 4; }
	.grid-col-span-5-md { grid-column-end: span 5; }
	.grid-col-span-6-md { grid-column-end: span 6; }
	.grid-col-span-7-md { grid-column-end: span 7; }
	.grid-col-span-8-md { grid-column-end: span 8; }
	.grid-col-span-9-md { grid-column-end: span 9; }
	.grid-col-span-10-md { grid-column-end: span 10; }
	.grid-col-span-11-md { grid-column-end: span 11; }
	.grid-col-span-12-md { grid-column-end: span 12; }
	
	/* Row Starts */
	.grid-row-start-1-md { grid-row-start: 1; }
	.grid-row-start-2-md { grid-row-start: 2; }
	.grid-row-start-3-md { grid-row-start: 3; }
}

@media (min-width: 1280px) {
	/* Grid Utilities */
	.grid-col-12-lg { grid-template-columns: repeat(12, 1fr); }
	.grid-col-11-lg { grid-template-columns: repeat(11, 1fr); }
	.grid-col-10-lg { grid-template-columns: repeat(10, 1fr); }
	.grid-col-9-lg { grid-template-columns: repeat(9, 1fr); }
	.grid-col-8-lg { grid-template-columns: repeat(8, 1fr); }
	.grid-col-7-lg { grid-template-columns: repeat(7, 1fr); }
	.grid-col-6-lg { grid-template-columns: repeat(6, 1fr); }
	.grid-col-5-lg { grid-template-columns: repeat(5, 1fr); }
	.grid-col-4-lg { grid-template-columns: repeat(4, 1fr); }
	.grid-col-3-lg { grid-template-columns: repeat(3, 1fr); }
	.grid-col-2-lg { grid-template-columns: repeat(2, 1fr); }
	.grid-col-1-lg { grid-template-columns: repeat(1, 1fr); }
	
	/* Column Starts */
	.grid-col-start-1-lg { grid-column-start: 1; }
	.grid-col-start-2-lg { grid-column-start: 2; }
	.grid-col-start-3-lg { grid-column-start: 3; }
	.grid-col-start-4-lg { grid-column-start: 4; }
	.grid-col-start-5-lg { grid-column-start: 5; }
	.grid-col-start-6-lg { grid-column-start: 6; }
	.grid-col-start-7-lg { grid-column-start: 7; }
	.grid-col-start-8-lg { grid-column-start: 8; }
	.grid-col-start-9-lg { grid-column-start: 9; }
	.grid-col-start-10-lg { grid-column-start: 10; }
	.grid-col-start-11-lg { grid-column-start: 11; }
	.grid-col-start-12-lg { grid-column-start: 12; }

	/* Column Spans */
	.grid-col-span-1-lg { grid-column-end: span 1; }
	.grid-col-span-2-lg { grid-column-end: span 2; }
	.grid-col-span-3-lg { grid-column-end: span 3; }
	.grid-col-span-4-lg { grid-column-end: span 4; }
	.grid-col-span-5-lg { grid-column-end: span 5; }
	.grid-col-span-6-lg { grid-column-end: span 6; }
	.grid-col-span-7-lg { grid-column-end: span 7; }
	.grid-col-span-8-lg { grid-column-end: span 8; }
	.grid-col-span-9-lg { grid-column-end: span 9; }
	.grid-col-span-10-lg { grid-column-end: span 10; }
	.grid-col-span-11-lg { grid-column-end: span 11; }
	.grid-col-span-12-lg { grid-column-end: span 12; }
	
	/* Row Starts */
	.grid-row-start-1-lg { grid-row-start: 1; }
	.grid-row-start-2-lg { grid-row-start: 2; }
	.grid-row-start-3-lg { grid-row-start: 3; }
}


/*  ==========================================================================
	Flexbox System
==========================================================================  */
/* Flex Utilities */
.flex { display: flex; flex-direction: column; }

.flex-row { flex-direction: row; }
.flex-row-reverse { flex-direction: row-reverse; }

.flex-column { flex-direction: column; }
.flex-column-reverse { flex-direction: column-reverse; }

.flex-wrap { flex-wrap: wrap; }

/* Flex Columns */
.flex-col { flex: 1 0 0; }
.flex-col-1 { width: var(--flex-col-1); }
.flex-col-2 { width: var(--flex-col-2); }
.flex-col-3 { width: var(--flex-col-3); }
.flex-col-4 { width: var(--flex-col-4); }
.flex-col-5 { width: var(--flex-col-5); }
.flex-col-6 { width: var(--flex-col-6); }
.flex-col-7 { width: var(--flex-col-7); }
.flex-col-8 { width: var(--flex-col-8); }
.flex-col-9 { width: var(--flex-col-9); }
.flex-col-10 { width: var(--flex-col-10); }
.flex-col-11 { width: var(--flex-col-11); }
.flex-col-12 { width: var(--flex-col-12); }

@media (min-width: 480px) {
	/* Flex Utilities */
	.flex-column-xs { flex-direction: column; }
	.flex-row-xs { flex-direction: row; }
	.flex-row-reverse-xs { flex-direction: row-reverse; }

	.flex-column-xs { flex-direction: column; }
	.flex-column-reverse-xs { flex-direction: column-reverse; }
	
	.flex-wrap-xs { flex-wrap: wrap; }
	.flex-nowrap-xs { flex-wrap: nowrap; }

	/* Flex Columns */
	.flex-col-xs { flex: 1 0 0; }
	.flex-col-1-xs { width: var(--flex-col-1); }
	.flex-col-2-xs { width: var(--flex-col-2); }
	.flex-col-3-xs { width: var(--flex-col-3); }
	.flex-col-4-xs { width: var(--flex-col-4); }
	.flex-col-5-xs { width: var(--flex-col-5); }
	.flex-col-6-xs { width: var(--flex-col-6); }
	.flex-col-7-xs { width: var(--flex-col-7); }
	.flex-col-8-xs { width: var(--flex-col-8); }
	.flex-col-9-xs { width: var(--flex-col-9); }
	.flex-col-10-xs { width: var(--flex-col-10); }
	.flex-col-11-xs { width: var(--flex-col-11); }
	.flex-col-12-xs { width: var(--flex-col-12); }
	
	.flex-col-reset-xs { width: auto; }
}

@media (min-width: 768px) {
	/* Flex Utilities */
	.flex-column-sm { flex-direction: column; }
	.flex-row-sm { flex-direction: row; }
	.flex-row-reverse-sm { flex-direction: row-reverse; }

	.flex-column-sm { flex-direction: column; }
	.flex-column-reverse-sm { flex-direction: column-reverse; }

	.flex-wrap-sm { flex-wrap: wrap; }
	.flex-nowrap-sm { flex-wrap: nowrap; }

	/* Flex Columns */
	.flex-col-sm { flex: 1 0 0; }
	.flex-col-1-sm { width: var(--flex-col-1); }
	.flex-col-2-sm { width: var(--flex-col-2); }
	.flex-col-3-sm { width: var(--flex-col-3); }
	.flex-col-4-sm { width: var(--flex-col-4); }
	.flex-col-5-sm { width: var(--flex-col-5); }
	.flex-col-6-sm { width: var(--flex-col-6); }
	.flex-col-7-sm { width: var(--flex-col-7); }
	.flex-col-8-sm { width: var(--flex-col-8); }
	.flex-col-9-sm { width: var(--flex-col-9); }
	.flex-col-10-sm { width: var(--flex-col-10); }
	.flex-col-11-sm { width: var(--flex-col-11); }
	.flex-col-12-sm { width: var(--flex-col-12); }
	
	.flex-col-reset-sm { width: auto; }
}

@media (min-width: 1024px) {
	/* Flex Utilities */
	.flex-column-md { flex-direction: column; }
	.flex-row-md { flex-direction: row; }
	.flex-row-reverse-md { flex-direction: row-reverse; }

	.flex-column-md { flex-direction: column; }
	.flex-column-reverse-md { flex-direction: column-reverse; }

	.flex-wrap-md { flex-wrap: wrap; }
	.flex-nowrap-md { flex-wrap: nowrap; }

	/* Flex Columns */
	.flex-col-md { flex: 1 0 0; }
	.flex-col-1-md { width: var(--flex-col-1); }
	.flex-col-2-md { width: var(--flex-col-2); }
	.flex-col-3-md { width: var(--flex-col-3); }
	.flex-col-4-md { width: var(--flex-col-4); }
	.flex-col-5-md { width: var(--flex-col-5); }
	.flex-col-6-md { width: var(--flex-col-6); }
	.flex-col-7-md { width: var(--flex-col-7); }
	.flex-col-8-md { width: var(--flex-col-8); }
	.flex-col-9-md { width: var(--flex-col-9); }
	.flex-col-10-md { width: var(--flex-col-10); }
	.flex-col-11-md { width: var(--flex-col-11); }
	.flex-col-12-md { width: var(--flex-col-12); }
	
	.flex-col-reset-md { width: auto; }
}

@media (min-width: 1280px) {
	/* Flex Utilities */
	.flex-column-lg { flex-direction: column; }
	.flex-row-lg { flex-direction: row; }
	.flex-row-reverse-lg { flex-direction: row-reverse; }

	.flex-column-lg { flex-direction: column; }
	.flex-column-reverse-lg { flex-direction: column-reverse; }

	.flex-wrap-lg { flex-wrap: wrap; }
	.flex-nowrap-lg { flex-wrap: nowrap; }

	/* Flex Columns */
	.flex-col-lg { flex: 1 0 0; }
	.flex-col-1-lg { width: var(--flex-col-1); }
	.flex-col-2-lg { width: var(--flex-col-2); }
	.flex-col-3-lg { width: var(--flex-col-3); }
	.flex-col-4-lg { width: var(--flex-col-4); }
	.flex-col-5-lg { width: var(--flex-col-5); }
	.flex-col-6-lg { width: var(--flex-col-6); }
	.flex-col-7-lg { width: var(--flex-col-7); }
	.flex-col-8-lg { width: var(--flex-col-8); }
	.flex-col-9-lg { width: var(--flex-col-9); }
	.flex-col-10-lg { width: var(--flex-col-10); }
	.flex-col-11-lg { width: var(--flex-col-11); }
	.flex-col-12-lg { width: var(--flex-col-12); }
	
	.flex-col-reset-lg { width: auto; }
}


/*  ==========================================================================
	Icons
==========================================================================  */
.u-icon,
.u-svg {
	display: block;
}
.u-icon svg,
.u-svg svg {
	display: block;
	margin-top: 0;
	width: 100%;
	height: 100%;
}

.dropdown-icon {
	height: 20px;
	width: 20px;
}
.no-js .dropdown-icon {
	display: none;
}
.search-icon {
	height: 25px;
	width: 25px;
}
.lock-icon {
	height: 20px;
	width: 20px;
}
.chevron-right {
	height: 15px;
	width: 15px;
}


/*  ==========================================================================
	Media
==========================================================================  */
.u-media {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.u-media iframe,
.u-media object,
.u-media embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/*  ==========================================================================
	Animation
==========================================================================  */
@media (prefers-reduced-motion: no-preference) {
	.js .animate--slide-in {
		transform: translateY(120px);
		opacity: 0;
		transition: transform .75s, opacity .5s;
	}
	.js .animate--slide-in.animate-trigger {
		transform: none;
		opacity: 1;
	}
	@media (min-width: 768px) {
		.js .animate--stagger:nth-child(2 of .animate--stagger) {
			transition-delay: 0.25s;
		}
		.js .animate--stagger:nth-child(3 of .animate--stagger) {
			transition-delay: 0.5s;
		}
		.js .animate--stagger:nth-child(4 of .animate--stagger) {
			transition-delay: 0.75s;
		}
	}
}

/*  ==========================================================================
	Collapsing
==========================================================================  */
.js-collapsible-content-collapsed {
	display: none;
}


/*  ==========================================================================
	Dialog
==========================================================================  */
.remove-scroll {
	overflow: hidden;
}
.dialog {
	display: flex;
	overflow-y: auto;
}
.no-js .dialog,
.dialog[aria-hidden='true'] {
	display: none;
}

.dialog,
.dialog__overlay {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: var(--z-modal);
}

.dialog__overlay {
	background-color: rgba(0, 0, 0, 0.75);
}

.dialog__container {
	z-index: var(--z-modal);
}

.dialog-button-close {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	background-color: transparent;
	border: 3px solid var(--color-text-light);
	border-radius: 1.5rem;
	color: var(--color-text-light);
	height: 3rem;
	width: 3rem;
	transition: background-color 0.3s;
}
.dialog-button-close:hover, 
.dialog-button-close:active, 
.dialog-button-close:focus {
	background-color: var(--color-primary-usfgreen);
}

.dialog__content {
	position: absolute;
	top: 6rem;
	left: 50%;
	transform: translateX(-50%);
	animation: dialog-fade-in 0.5s
}
@keyframes dialog-fade-in {
	from {
		opacity: 0;
	}
}
.dialog__embed--yt {
	width: 75vw;
	max-width: 1280px;
}
.dialog__embed--yt iframe {
	aspect-ratio: 16 / 9;
	width: 100%;
}
.dialog__embed--yt-shorts {
	height: 75vh;
}
.dialog__embed--yt-shorts iframe {
	aspect-ratio: 9 / 16;
	height: 90%;
}
.dialog__embed .instagram-media {
	min-width: 300px !important;
}
