/* ==========================================================================
   Utility Classes (Helpers)
   ========================================================================== */

/* --------------------------------------------------------------------------
   Sizing & Containers
   -------------------------------------------------------------------------- */

.w-100 {
	width: 100% !important;
}

.h-100 {
	height: 100% !important;
}

.w-auto {
	width: auto !important;
}

.mw-100 {
	max-width: 100% !important;
}

.mw-50 {
	max-width: 50px !important;
}

.mw-180 {
	max-width: 180px !important;
}

.mw-200 {
	max-width: 200px !important;
}

.mw-220 {
	max-width: 220px !important;
}

.mw-500 {
	max-width: 500px !important;
}

.container {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 100% !important;
	padding-left: 15px;
	padding-right: 15px;
}

.container-sm {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 100% !important;
}

.container-fluid {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 100% !important;
}

/* --------------------------------------------------------------------------
   Display Utilities
   -------------------------------------------------------------------------- */

.d-none {
	display: none !important;
}

.d-inline {
	display: inline !important;
}

.d-inline-block {
	display: inline-block !important;
}

.d-block {
	display: block !important;
}

.d-grid {
	display: grid !important;
}

.d-inline-grid {
	display: inline-grid !important;
}

.d-flex {
	display: flex !important;
}

.d-inline-flex {
	display: inline-flex !important;
}

/* --------------------------------------------------------------------------
   Position Utilities
   -------------------------------------------------------------------------- */

.pos-rel {
	position: relative !important;
}

.top-n2 {
	top: -2px !important;
}

/* --------------------------------------------------------------------------
   Grid Columns (1-12)
   -------------------------------------------------------------------------- */

.grid-cols-1 {
	grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

.grid-cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.grid-cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.grid-cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.grid-cols-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.grid-cols-6 {
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.grid-cols-7 {
	grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}

.grid-cols-8 {
	grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
}

.grid-cols-9 {
	grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
}

.grid-cols-10 {
	grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
}

.grid-cols-11 {
	grid-template-columns: repeat(11, minmax(0, 1fr)) !important;
}

.grid-cols-12 {
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

.grid-cols-none {
	grid-template-columns: none !important;
}

/* --------------------------------------------------------------------------
   Flexbox Utilities
   -------------------------------------------------------------------------- */

/* Direction */
.flex-row {
	flex-direction: row !important;
}

.flex-direction-row {
	flex-direction: row !important;
}

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

.flex-column {
	flex-direction: column !important;
}

.flex-direction-column {
	flex-direction: column !important;
}

.flex-column-reverse {
	flex-direction: column-reverse !important;
}

/* Wrap */
.flex-wrap {
	flex-wrap: wrap !important;
}

.flex-nowrap {
	flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
	flex-wrap: wrap-reverse !important;
}

/* Grow & Shrink */
.flex-fill {
	flex: 1 1 auto !important;
}

.flex-grow-0 {
	flex-grow: 0 !important;
}

.flex-grow-1 {
	flex-grow: 1 !important;
}

.flex-shrink-0 {
	flex-shrink: 0 !important;
}

.flex-shrink-1 {
	flex-shrink: 1 !important;
}

/* Justify Content */
.justify-content-start {
	justify-content: flex-start !important;
}

.justify-content-end {
	justify-content: flex-end !important;
}

.justify-content-center {
	justify-content: center !important;
}

.justify-content-between {
	justify-content: space-between !important;
}

.justify-content-around {
	justify-content: space-around !important;
}

.justify-content-evenly {
	justify-content: space-evenly !important;
}

/* Legacy Alias */
.jc-center {
	justify-content: center !important;
}

/* Align Items */
.align-items-start {
	align-items: flex-start !important;
}

.align-items-end {
	align-items: flex-end !important;
}

.align-items-center {
	align-items: center !important;
}

.align-items-baseline {
	align-items: baseline !important;
}

.align-items-stretch {
	align-items: stretch !important;
}

/* Align Content */
.align-content-start {
	align-content: flex-start !important;
}

.align-content-end {
	align-content: flex-end !important;
}

.align-content-center {
	align-content: center !important;
}

.align-content-between {
	align-content: space-between !important;
}

.align-content-around {
	align-content: space-around !important;
}

.align-content-stretch {
	align-content: stretch !important;
}

/* Align Self */
.align-self-auto {
	align-self: auto !important;
}

.align-self-start {
	align-self: flex-start !important;
}

.align-self-end {
	align-self: flex-end !important;
}

.align-self-center {
	align-self: center !important;
}

.align-self-baseline {
	align-self: baseline !important;
}

.align-self-stretch {
	align-self: stretch !important;
}

/* --------------------------------------------------------------------------
   Spacing Utilities (0 to 50px, step 5)
   -------------------------------------------------------------------------- */

.mx-auto {
	margin-left: auto !important;
	margin-right: auto !important;
}

.ml-auto {
	margin-left: auto !important;
}

.mr-auto {
	margin-right: auto !important;
}

.mt-auto {
	margin-top: auto !important;
}

.mb-auto {
	margin-bottom: auto !important;
}

/* Margins (All sides) */
.m-0 {
	margin: 0px !important;
}

.m-5 {
	margin: 5px !important;
}

.m-10 {
	margin: 10px !important;
}

.m-15 {
	margin: 15px !important;
}

.m-20 {
	margin: 20px !important;
}

.m-25 {
	margin: 25px !important;
}

.m-30 {
	margin: 30px !important;
}

.m-35 {
	margin: 35px !important;
}

.m-40 {
	margin: 40px !important;
}

.m-45 {
	margin: 45px !important;
}

.m-50 {
	margin: 50px !important;
}

/* Margin Top */
.mt-0 {
	margin-top: 0px !important;
}

.mt-5 {
	margin-top: 5px !important;
}

.mt-10 {
	margin-top: 10px !important;
}

.mt-15 {
	margin-top: 15px !important;
}

.mt-16 {
	margin-top: 16px !important;
}

/* Legacy */
.mt-20 {
	margin-top: 20px !important;
}

.mt-25 {
	margin-top: 25px !important;
}

.mt-30 {
	margin-top: 30px !important;
}

.mt-35 {
	margin-top: 35px !important;
}

.mt-40 {
	margin-top: 40px !important;
}

.mt-45 {
	margin-top: 45px !important;
}

.mt-50 {
	margin-top: 50px !important;
}

/* Margin Right */
.mr-0 {
	margin-right: 0px !important;
}

.mr-4 {
	margin-right: 4px !important;
}

/* Legacy */
.mr-5 {
	margin-right: 5px !important;
}

.mr-10 {
	margin-right: 10px !important;
}

.mr-15 {
	margin-right: 15px !important;
}

.mr-20 {
	margin-right: 20px !important;
}

.mr-25 {
	margin-right: 25px !important;
}

.mr-30 {
	margin-right: 30px !important;
}

.mr-35 {
	margin-right: 35px !important;
}

.mr-40 {
	margin-right: 40px !important;
}

.mr-45 {
	margin-right: 45px !important;
}

.mr-50 {
	margin-right: 50px !important;
}

/* Margin Bottom */
.mb-0 {
	margin-bottom: 0px !important;
}

.mb-4 {
	margin-bottom: 4px !important;
}

/* Legacy */
.mb-5 {
	margin-bottom: 5px !important;
}

.mb-10 {
	margin-bottom: 10px !important;
}

.mb-15 {
	margin-bottom: 15px !important;
}

.mb-16 {
	margin-bottom: 16px !important;
}

/* Legacy */
.mb-20 {
	margin-bottom: 20px !important;
}

.mb-25 {
	margin-bottom: 25px !important;
}

.mb-30 {
	margin-bottom: 30px !important;
}

.mb-35 {
	margin-bottom: 35px !important;
}

.mb-40 {
	margin-bottom: 40px !important;
}

.mb-45 {
	margin-bottom: 45px !important;
}

.mb-50 {
	margin-bottom: 50px !important;
}

/* Margin Left */
.ml-0 {
	margin-left: 0px !important;
}

.ml-5 {
	margin-left: 5px !important;
}

.ml-10 {
	margin-left: 10px !important;
}

.ml-15 {
	margin-left: 15px !important;
}

.ml-20 {
	margin-left: 20px !important;
}

.ml-25 {
	margin-left: 25px !important;
}

.ml-30 {
	margin-left: 30px !important;
}

.ml-35 {
	margin-left: 35px !important;
}

.ml-40 {
	margin-left: 40px !important;
}

.ml-45 {
	margin-left: 45px !important;
}

.ml-50 {
	margin-left: 50px !important;
}

/* Margin X (Left & Right) */
.mx-0 {
	margin-left: 0px !important;
	margin-right: 0px !important;
}

.mx-5 {
	margin-left: 5px !important;
	margin-right: 5px !important;
}

.mx-10 {
	margin-left: 10px !important;
	margin-right: 10px !important;
}

.mx-15 {
	margin-left: 15px !important;
	margin-right: 15px !important;
}

.mx-20 {
	margin-left: 20px !important;
	margin-right: 20px !important;
}

.mx-25 {
	margin-left: 25px !important;
	margin-right: 25px !important;
}

.mx-30 {
	margin-left: 30px !important;
	margin-right: 30px !important;
}

.mx-35 {
	margin-left: 35px !important;
	margin-right: 35px !important;
}

.mx-40 {
	margin-left: 40px !important;
	margin-right: 40px !important;
}

.mx-45 {
	margin-left: 45px !important;
	margin-right: 45px !important;
}

.mx-50 {
	margin-left: 50px !important;
	margin-right: 50px !important;
}

/* Margin Y (Top & Bottom) */
.my-0 {
	margin-top: 0px !important;
	margin-bottom: 0px !important;
}

.my-5 {
	margin-top: 5px !important;
	margin-bottom: 5px !important;
}

.my-10 {
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}

.my-15 {
	margin-top: 15px !important;
	margin-bottom: 15px !important;
}

.my-20 {
	margin-top: 20px !important;
	margin-bottom: 20px !important;
}

.my-25 {
	margin-top: 25px !important;
	margin-bottom: 25px !important;
}

.my-30 {
	margin-top: 30px !important;
	margin-bottom: 30px !important;
}

.my-35 {
	margin-top: 35px !important;
	margin-bottom: 35px !important;
}

.my-40 {
	margin-top: 40px !important;
	margin-bottom: 40px !important;
}

.my-45 {
	margin-top: 45px !important;
	margin-bottom: 45px !important;
}

.my-50 {
	margin-top: 50px !important;
	margin-bottom: 50px !important;
}

/* Padding (All sides) */
.p-0 {
	padding: 0px !important;
}

.p-5 {
	padding: 5px !important;
}

.p-10 {
	padding: 10px !important;
}

.p-15 {
	padding: 15px !important;
}

.p-20 {
	padding: 20px !important;
}

.p-25 {
	padding: 25px !important;
}

.p-30 {
	padding: 30px !important;
}

.p-35 {
	padding: 35px !important;
}

.p-40 {
	padding: 40px !important;
}

.p-45 {
	padding: 45px !important;
}

.p-50 {
	padding: 50px !important;
}

/* Padding Top */
.pt-0 {
	padding-top: 0px !important;
}

.pt-5 {
	padding-top: 5px !important;
}

.pt-10 {
	padding-top: 10px !important;
}

.pt-15 {
	padding-top: 15px !important;
}

.pt-20 {
	padding-top: 20px !important;
}

.pt-25 {
	padding-top: 25px !important;
}

.pt-30 {
	padding-top: 30px !important;
}

.pt-35 {
	padding-top: 35px !important;
}

.pt-40 {
	padding-top: 40px !important;
}

.pt-45 {
	padding-top: 45px !important;
}

.pt-50 {
	padding-top: 50px !important;
}

/* Padding Right */
.pr-0 {
	padding-right: 0px !important;
}

.pr-5 {
	padding-right: 5px !important;
}

.pr-10 {
	padding-right: 10px !important;
}

.pr-15 {
	padding-right: 15px !important;
}

.pr-20 {
	padding-right: 20px !important;
}

.pr-25 {
	padding-right: 25px !important;
}

.pr-30 {
	padding-right: 30px !important;
}

.pr-35 {
	padding-right: 35px !important;
}

.pr-40 {
	padding-right: 40px !important;
}

.pr-45 {
	padding-right: 45px !important;
}

.pr-50 {
	padding-right: 50px !important;
}

/* Padding Bottom */
.pb-0 {
	padding-bottom: 0px !important;
}

.pb-5 {
	padding-bottom: 5px !important;
}

.pb-10 {
	padding-bottom: 10px !important;
}

.pb-15 {
	padding-bottom: 15px !important;
}

.pb-20 {
	padding-bottom: 20px !important;
}

.pb-25 {
	padding-bottom: 25px !important;
}

.pb-30 {
	padding-bottom: 30px !important;
}

.pb-35 {
	padding-bottom: 35px !important;
}

.pb-40 {
	padding-bottom: 40px !important;
}

.pb-45 {
	padding-bottom: 45px !important;
}

.pb-50 {
	padding-bottom: 50px !important;
}

/* Padding Left */
.pl-0 {
	padding-left: 0px !important;
}

.pl-5 {
	padding-left: 5px !important;
}

.pl-10 {
	padding-left: 10px !important;
}

.pl-15 {
	padding-left: 15px !important;
}

.pl-20 {
	padding-left: 20px !important;
}

.pl-25 {
	padding-left: 25px !important;
}

.pl-30 {
	padding-left: 30px !important;
}

.pl-35 {
	padding-left: 35px !important;
}

.pl-40 {
	padding-left: 40px !important;
}

.pl-45 {
	padding-left: 45px !important;
}

.pl-50 {
	padding-left: 50px !important;
}

/* Padding X */
.px-0 {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

.px-5 {
	padding-left: 5px !important;
	padding-right: 5px !important;
}

.px-10 {
	padding-left: 10px !important;
	padding-right: 10px !important;
}

.px-15 {
	padding-left: 15px !important;
	padding-right: 15px !important;
}

.px-20 {
	padding-left: 20px !important;
	padding-right: 20px !important;
}

.px-25 {
	padding-left: 25px !important;
	padding-right: 25px !important;
}

.px-30 {
	padding-left: 30px !important;
	padding-right: 30px !important;
}

.px-35 {
	padding-left: 35px !important;
	padding-right: 35px !important;
}

.px-40 {
	padding-left: 40px !important;
	padding-right: 40px !important;
}

.px-45 {
	padding-left: 45px !important;
	padding-right: 45px !important;
}

.px-50 {
	padding-left: 50px !important;
	padding-right: 50px !important;
}

/* Padding Y */
.py-0 {
	padding-top: 0px !important;
	padding-bottom: 0px !important;
}

.py-5 {
	padding-top: 5px !important;
	padding-bottom: 5px !important;
}

.py-10 {
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}

.py-15 {
	padding-top: 15px !important;
	padding-bottom: 15px !important;
}

.py-20 {
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}

.py-25 {
	padding-top: 25px !important;
	padding-bottom: 25px !important;
}

.py-30 {
	padding-top: 30px !important;
	padding-bottom: 30px !important;
}

.py-35 {
	padding-top: 35px !important;
	padding-bottom: 35px !important;
}

.py-40 {
	padding-top: 40px !important;
	padding-bottom: 40px !important;
}

.py-45 {
	padding-top: 45px !important;
	padding-bottom: 45px !important;
}

.py-50 {
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}

/* Gap */
.g-0 {
	gap: 0px !important;
}

.g-5 {
	gap: 5px !important;
}

.g-10 {
	gap: 10px !important;
}

.g-15 {
	gap: 15px !important;
}

.g-20 {
	gap: 20px !important;
}

.g-25 {
	gap: 25px !important;
}

.g-30 {
	gap: 30px !important;
}

.g-35 {
	gap: 35px !important;
}

.g-40 {
	gap: 40px !important;
}

.g-45 {
	gap: 45px !important;
}

.g-50 {
	gap: 50px !important;
}

/* --------------------------------------------------------------------------
   Typography Utilities
   -------------------------------------------------------------------------- */

.ta-left {
	text-align: left !important;
}

.ta-center {
	text-align: center !important;
}

.ta-right {
	text-align: right !important;
}

.ws-nowrap {
	white-space: nowrap !important;
}

/* Font Weights */
.fw-normal {
	font-weight: 400 !important;
}

.fw-400 {
	font-weight: 400 !important;
}

.fw-500 {
	font-weight: 500 !important;
}

.fw-600 {
	font-weight: 600 !important;
}

.fw-700 {
	font-weight: 700 !important;
}

.fw-800 {
	font-weight: 800 !important;
}

.fw-900 {
	font-weight: 900 !important;
}

.fw-bold {
	font-weight: 700 !important;
}

/* Font Sizes (12-50px, step 2) */
.fz-12 {
	font-size: 12px !important;
}

.fz-13 {
	font-size: 13px !important;
}

.fz-14 {
	font-size: 14px !important;
}

.fz-15 {
	font-size: 15px !important;
}

.fz-16 {
	font-size: 16px !important;
}

.fz-18 {
	font-size: 18px !important;
}

.fz-20 {
	font-size: 20px !important;
}

.fz-22 {
	font-size: 22px !important;
}

.fz-24 {
	font-size: 24px !important;
}

.fz-26 {
	font-size: 26px !important;
}

.fz-28 {
	font-size: 28px !important;
}

.fz-30 {
	font-size: 30px !important;
}

.fz-32 {
	font-size: 32px !important;
}

.fz-34 {
	font-size: 34px !important;
}

.fz-36 {
	font-size: 36px !important;
}

.fz-38 {
	font-size: 38px !important;
}

.fz-40 {
	font-size: 40px !important;
}

.fz-42 {
	font-size: 42px !important;
}

.fz-44 {
	font-size: 44px !important;
}

.fz-46 {
	font-size: 46px !important;
}

.fz-48 {
	font-size: 48px !important;
}

.fz-50 {
	font-size: 50px !important;
}

/* --------------------------------------------------------------------------
   Visuals (Colors, Shadows, Radius)
   -------------------------------------------------------------------------- */

.text-accent {
	color: #16a34a !important;
}

.text-danger {
	color: #ef4444 !important;
}

.text-muted {
	color: #6b7280 !important;
}

.bg-white {
	background-color: #ffffff !important;
}

.box-shadow-1 {
	box-shadow: 0 10px 25px rgba(15, 23, 42, 0.08) !important;
}

.border-radius-12 {
	border-radius: 12px !important;
}

/* ==========================================================================
   Responsive Utilities (Media Queries)
   ========================================================================== */

/* --------------------------------------------------------------------------
   XS: min-width 576px
   -------------------------------------------------------------------------- */
@media (min-width: 576px) {

	/* Display */
	.d-xs-none {
		display: none !important;
	}

	.d-xs-inline {
		display: inline !important;
	}

	.d-xs-inline-block {
		display: inline-block !important;
	}

	.d-xs-block {
		display: block !important;
	}

	.d-xs-grid {
		display: grid !important;
	}

	.d-xs-flex {
		display: flex !important;
	}

	.d-xs-inline-flex {
		display: inline-flex !important;
	}

	/* Flex */
	.flex-xs-row {
		flex-direction: row !important;
	}

	.flex-direction-xs-row {
		flex-direction: row !important;
	}

	.flex-xs-column {
		flex-direction: column !important;
	}

	.flex-direction-xs-column {
		flex-direction: column !important;
	}

	.flex-xs-row-reverse {
		flex-direction: row-reverse !important;
	}

	.flex-xs-column-reverse {
		flex-direction: column-reverse !important;
	}

	.flex-xs-wrap {
		flex-wrap: wrap !important;
	}

	.flex-xs-nowrap {
		flex-wrap: nowrap !important;
	}

	.justify-content-xs-start {
		justify-content: flex-start !important;
	}

	.justify-content-xs-end {
		justify-content: flex-end !important;
	}

	.justify-content-xs-center {
		justify-content: center !important;
	}

	.justify-content-xs-between {
		justify-content: space-between !important;
	}

	.justify-content-xs-around {
		justify-content: space-around !important;
	}

	.align-items-xs-start {
		align-items: flex-start !important;
	}

	.align-items-xs-end {
		align-items: flex-end !important;
	}

	.align-items-xs-center {
		align-items: center !important;
	}

	.align-items-xs-stretch {
		align-items: stretch !important;
	}

	/* Grid */
	.grid-cols-xs-1 {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}

	.grid-cols-xs-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.grid-cols-xs-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.grid-cols-xs-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.grid-cols-xs-5 {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}

	.grid-cols-xs-6 {
		grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	}

	/* Spacing XS - Margin */
	.m-xs-0 {
		margin: 0px !important;
	}

	.m-xs-5 {
		margin: 5px !important;
	}

	.m-xs-10 {
		margin: 10px !important;
	}

	.m-xs-15 {
		margin: 15px !important;
	}

	.m-xs-20 {
		margin: 20px !important;
	}

	.m-xs-25 {
		margin: 25px !important;
	}

	.m-xs-30 {
		margin: 30px !important;
	}

	.m-xs-35 {
		margin: 35px !important;
	}

	.m-xs-40 {
		margin: 40px !important;
	}

	.m-xs-45 {
		margin: 45px !important;
	}

	.m-xs-50 {
		margin: 50px !important;
	}

	.mt-xs-0 {
		margin-top: 0px !important;
	}

	.mt-xs-5 {
		margin-top: 5px !important;
	}

	.mt-xs-10 {
		margin-top: 10px !important;
	}

	.mt-xs-15 {
		margin-top: 15px !important;
	}

	.mt-xs-20 {
		margin-top: 20px !important;
	}

	.mt-xs-25 {
		margin-top: 25px !important;
	}

	.mt-xs-30 {
		margin-top: 30px !important;
	}

	.mt-xs-35 {
		margin-top: 35px !important;
	}

	.mt-xs-40 {
		margin-top: 40px !important;
	}

	.mt-xs-45 {
		margin-top: 45px !important;
	}

	.mt-xs-50 {
		margin-top: 50px !important;
	}

	.mr-xs-0 {
		margin-right: 0px !important;
	}

	.mr-xs-5 {
		margin-right: 5px !important;
	}

	.mr-xs-10 {
		margin-right: 10px !important;
	}

	.mr-xs-15 {
		margin-right: 15px !important;
	}

	.mr-xs-20 {
		margin-right: 20px !important;
	}

	.mr-xs-25 {
		margin-right: 25px !important;
	}

	.mr-xs-30 {
		margin-right: 30px !important;
	}

	.mr-xs-35 {
		margin-right: 35px !important;
	}

	.mr-xs-40 {
		margin-right: 40px !important;
	}

	.mr-xs-45 {
		margin-right: 45px !important;
	}

	.mr-xs-50 {
		margin-right: 50px !important;
	}

	.mb-xs-0 {
		margin-bottom: 0px !important;
	}

	.mb-xs-5 {
		margin-bottom: 5px !important;
	}

	.mb-xs-10 {
		margin-bottom: 10px !important;
	}

	.mb-xs-15 {
		margin-bottom: 15px !important;
	}

	.mb-xs-20 {
		margin-bottom: 20px !important;
	}

	.mb-xs-25 {
		margin-bottom: 25px !important;
	}

	.mb-xs-30 {
		margin-bottom: 30px !important;
	}

	.mb-xs-35 {
		margin-bottom: 35px !important;
	}

	.mb-xs-40 {
		margin-bottom: 40px !important;
	}

	.mb-xs-45 {
		margin-bottom: 45px !important;
	}

	.mb-xs-50 {
		margin-bottom: 50px !important;
	}

	.ml-xs-0 {
		margin-left: 0px !important;
	}

	.ml-xs-5 {
		margin-left: 5px !important;
	}

	.ml-xs-10 {
		margin-left: 10px !important;
	}

	.ml-xs-15 {
		margin-left: 15px !important;
	}

	.ml-xs-20 {
		margin-left: 20px !important;
	}

	.ml-xs-25 {
		margin-left: 25px !important;
	}

	.ml-xs-30 {
		margin-left: 30px !important;
	}

	.ml-xs-35 {
		margin-left: 35px !important;
	}

	.ml-xs-40 {
		margin-left: 40px !important;
	}

	.ml-xs-45 {
		margin-left: 45px !important;
	}

	.ml-xs-50 {
		margin-left: 50px !important;
	}

	.mx-xs-0 {
		margin-left: 0px !important;
		margin-right: 0px !important;
	}

	.mx-xs-5 {
		margin-left: 5px !important;
		margin-right: 5px !important;
	}

	.mx-xs-10 {
		margin-left: 10px !important;
		margin-right: 10px !important;
	}

	.mx-xs-15 {
		margin-left: 15px !important;
		margin-right: 15px !important;
	}

	.mx-xs-20 {
		margin-left: 20px !important;
		margin-right: 20px !important;
	}

	.mx-xs-25 {
		margin-left: 25px !important;
		margin-right: 25px !important;
	}

	.mx-xs-30 {
		margin-left: 30px !important;
		margin-right: 30px !important;
	}

	.mx-xs-35 {
		margin-left: 35px !important;
		margin-right: 35px !important;
	}

	.mx-xs-40 {
		margin-left: 40px !important;
		margin-right: 40px !important;
	}

	.mx-xs-45 {
		margin-left: 45px !important;
		margin-right: 45px !important;
	}

	.mx-xs-50 {
		margin-left: 50px !important;
		margin-right: 50px !important;
	}

	.my-xs-0 {
		margin-top: 0px !important;
		margin-bottom: 0px !important;
	}

	.my-xs-5 {
		margin-top: 5px !important;
		margin-bottom: 5px !important;
	}

	.my-xs-10 {
		margin-top: 10px !important;
		margin-bottom: 10px !important;
	}

	.my-xs-15 {
		margin-top: 15px !important;
		margin-bottom: 15px !important;
	}

	.my-xs-20 {
		margin-top: 20px !important;
		margin-bottom: 20px !important;
	}

	.my-xs-25 {
		margin-top: 25px !important;
		margin-bottom: 25px !important;
	}

	.my-xs-30 {
		margin-top: 30px !important;
		margin-bottom: 30px !important;
	}

	.my-xs-35 {
		margin-top: 35px !important;
		margin-bottom: 35px !important;
	}

	.my-xs-40 {
		margin-top: 40px !important;
		margin-bottom: 40px !important;
	}

	.my-xs-45 {
		margin-top: 45px !important;
		margin-bottom: 45px !important;
	}

	.my-xs-50 {
		margin-top: 50px !important;
		margin-bottom: 50px !important;
	}

	/* Spacing XS - Padding */
	.p-xs-0 {
		padding: 0px !important;
	}

	.p-xs-5 {
		padding: 5px !important;
	}

	.p-xs-10 {
		padding: 10px !important;
	}

	.p-xs-15 {
		padding: 15px !important;
	}

	.p-xs-20 {
		padding: 20px !important;
	}

	.p-xs-25 {
		padding: 25px !important;
	}

	.p-xs-30 {
		padding: 30px !important;
	}

	.p-xs-35 {
		padding: 35px !important;
	}

	.p-xs-40 {
		padding: 40px !important;
	}

	.p-xs-45 {
		padding: 45px !important;
	}

	.p-xs-50 {
		padding: 50px !important;
	}

	.pt-xs-0 {
		padding-top: 0px !important;
	}

	.pt-xs-5 {
		padding-top: 5px !important;
	}

	.pt-xs-10 {
		padding-top: 10px !important;
	}

	.pt-xs-15 {
		padding-top: 15px !important;
	}

	.pt-xs-20 {
		padding-top: 20px !important;
	}

	.pt-xs-25 {
		padding-top: 25px !important;
	}

	.pt-xs-30 {
		padding-top: 30px !important;
	}

	.pt-xs-35 {
		padding-top: 35px !important;
	}

	.pt-xs-40 {
		padding-top: 40px !important;
	}

	.pt-xs-45 {
		padding-top: 45px !important;
	}

	.pt-xs-50 {
		padding-top: 50px !important;
	}

	.pr-xs-0 {
		padding-right: 0px !important;
	}

	.pr-xs-5 {
		padding-right: 5px !important;
	}

	.pr-xs-10 {
		padding-right: 10px !important;
	}

	.pr-xs-15 {
		padding-right: 15px !important;
	}

	.pr-xs-20 {
		padding-right: 20px !important;
	}

	.pr-xs-25 {
		padding-right: 25px !important;
	}

	.pr-xs-30 {
		padding-right: 30px !important;
	}

	.pr-xs-35 {
		padding-right: 35px !important;
	}

	.pr-xs-40 {
		padding-right: 40px !important;
	}

	.pr-xs-45 {
		padding-right: 45px !important;
	}

	.pr-xs-50 {
		padding-right: 50px !important;
	}

	.pb-xs-0 {
		padding-bottom: 0px !important;
	}

	.pb-xs-5 {
		padding-bottom: 5px !important;
	}

	.pb-xs-10 {
		padding-bottom: 10px !important;
	}

	.pb-xs-15 {
		padding-bottom: 15px !important;
	}

	.pb-xs-20 {
		padding-bottom: 20px !important;
	}

	.pb-xs-25 {
		padding-bottom: 25px !important;
	}

	.pb-xs-30 {
		padding-bottom: 30px !important;
	}

	.pb-xs-35 {
		padding-bottom: 35px !important;
	}

	.pb-xs-40 {
		padding-bottom: 40px !important;
	}

	.pb-xs-45 {
		padding-bottom: 45px !important;
	}

	.pb-xs-50 {
		padding-bottom: 50px !important;
	}

	.pl-xs-0 {
		padding-left: 0px !important;
	}

	.pl-xs-5 {
		padding-left: 5px !important;
	}

	.pl-xs-10 {
		padding-left: 10px !important;
	}

	.pl-xs-15 {
		padding-left: 15px !important;
	}

	.pl-xs-20 {
		padding-left: 20px !important;
	}

	.pl-xs-25 {
		padding-left: 25px !important;
	}

	.pl-xs-30 {
		padding-left: 30px !important;
	}

	.pl-xs-35 {
		padding-left: 35px !important;
	}

	.pl-xs-40 {
		padding-left: 40px !important;
	}

	.pl-xs-45 {
		padding-left: 45px !important;
	}

	.pl-xs-50 {
		padding-left: 50px !important;
	}

	.px-xs-0 {
		padding-left: 0px !important;
		padding-right: 0px !important;
	}

	.px-xs-5 {
		padding-left: 5px !important;
		padding-right: 5px !important;
	}

	.px-xs-10 {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.px-xs-15 {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	.px-xs-20 {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.px-xs-25 {
		padding-left: 25px !important;
		padding-right: 25px !important;
	}

	.px-xs-30 {
		padding-left: 30px !important;
		padding-right: 30px !important;
	}

	.px-xs-35 {
		padding-left: 35px !important;
		padding-right: 35px !important;
	}

	.px-xs-40 {
		padding-left: 40px !important;
		padding-right: 40px !important;
	}

	.px-xs-45 {
		padding-left: 45px !important;
		padding-right: 45px !important;
	}

	.px-xs-50 {
		padding-left: 50px !important;
		padding-right: 50px !important;
	}

	.py-xs-0 {
		padding-top: 0px !important;
		padding-bottom: 0px !important;
	}

	.py-xs-5 {
		padding-top: 5px !important;
		padding-bottom: 5px !important;
	}

	.py-xs-10 {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	.py-xs-15 {
		padding-top: 15px !important;
		padding-bottom: 15px !important;
	}

	.py-xs-20 {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}

	.py-xs-25 {
		padding-top: 25px !important;
		padding-bottom: 25px !important;
	}

	.py-xs-30 {
		padding-top: 30px !important;
		padding-bottom: 30px !important;
	}

	.py-xs-35 {
		padding-top: 35px !important;
		padding-bottom: 35px !important;
	}

	.py-xs-40 {
		padding-top: 40px !important;
		padding-bottom: 40px !important;
	}

	.py-xs-45 {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}

	.py-xs-50 {
		padding-top: 50px !important;
		padding-bottom: 50px !important;
	}

	/* Gap XS */
	.g-xs-0 {
		gap: 0px !important;
	}

	.g-xs-5 {
		gap: 5px !important;
	}

	.g-xs-10 {
		gap: 10px !important;
	}

	.g-xs-15 {
		gap: 15px !important;
	}

	.g-xs-20 {
		gap: 20px !important;
	}

	.g-xs-25 {
		gap: 25px !important;
	}

	.g-xs-30 {
		gap: 30px !important;
	}

	.g-xs-35 {
		gap: 35px !important;
	}

	.g-xs-40 {
		gap: 40px !important;
	}

	.g-xs-45 {
		gap: 45px !important;
	}

	.g-xs-50 {
		gap: 50px !important;
	}

	/* Typography XS */
	.ta-xs-left {
		text-align: left !important;
	}

	.ta-xs-center {
		text-align: center !important;
	}

	.ta-xs-right {
		text-align: right !important;
	}

	.fz-xs-12 {
		font-size: 12px !important;
	}

	.fz-xs-13 {
		font-size: 13px !important;
	}

	.fz-xs-14 {
		font-size: 14px !important;
	}

	.fz-xs-16 {
		font-size: 16px !important;
	}

	.fz-xs-18 {
		font-size: 18px !important;
	}

	.fz-xs-20 {
		font-size: 20px !important;
	}

	.fz-xs-22 {
		font-size: 22px !important;
	}

	.fz-xs-24 {
		font-size: 24px !important;
	}

	.fz-xs-26 {
		font-size: 26px !important;
	}

	.fz-xs-28 {
		font-size: 28px !important;
	}

	.fz-xs-30 {
		font-size: 30px !important;
	}

	.fz-xs-32 {
		font-size: 32px !important;
	}

	.fz-xs-34 {
		font-size: 34px !important;
	}

	.fz-xs-36 {
		font-size: 36px !important;
	}

	.fz-xs-38 {
		font-size: 38px !important;
	}

	.fz-xs-40 {
		font-size: 40px !important;
	}

	.fz-xs-42 {
		font-size: 42px !important;
	}

	.fz-xs-44 {
		font-size: 44px !important;
	}

	.fz-xs-46 {
		font-size: 46px !important;
	}

	.fz-xs-48 {
		font-size: 48px !important;
	}

	.fz-xs-50 {
		font-size: 50px !important;
	}

	.fw-xs-400 {
		font-weight: 400 !important;
	}

	.fw-xs-500 {
		font-weight: 500 !important;
	}

	.fw-xs-600 {
		font-weight: 600 !important;
	}

	.fw-xs-700 {
		font-weight: 700 !important;
	}

	.fw-xs-800 {
		font-weight: 800 !important;
	}

	.fw-xs-900 {
		font-weight: 900 !important;
	}
}

/* --------------------------------------------------------------------------
   SM-600: min-width 600px
   -------------------------------------------------------------------------- */
@media (min-width: 600px) {
	.grid-cols-600-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* --------------------------------------------------------------------------
   SM: min-width 768px
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {

	/* Display */
	.d-sm-none {
		display: none !important;
	}

	.d-sm-inline {
		display: inline !important;
	}

	.d-sm-inline-block {
		display: inline-block !important;
	}

	.d-sm-block {
		display: block !important;
	}

	.d-sm-grid {
		display: grid !important;
	}

	.d-sm-flex {
		display: flex !important;
	}

	.d-sm-inline-flex {
		display: inline-flex !important;
	}

	/* Flex */
	.flex-sm-row {
		flex-direction: row !important;
	}

	.flex-direction-sm-row {
		flex-direction: row !important;
	}

	.flex-sm-column {
		flex-direction: column !important;
	}

	.flex-direction-sm-column {
		flex-direction: column !important;
	}

	.flex-sm-row-reverse {
		flex-direction: row-reverse !important;
	}

	.flex-sm-column-reverse {
		flex-direction: column-reverse !important;
	}

	.flex-sm-wrap {
		flex-wrap: wrap !important;
	}

	.flex-sm-nowrap {
		flex-wrap: nowrap !important;
	}

	.justify-content-sm-start {
		justify-content: flex-start !important;
	}

	.justify-content-sm-end {
		justify-content: flex-end !important;
	}

	.justify-content-sm-center {
		justify-content: center !important;
	}

	.justify-content-sm-between {
		justify-content: space-between !important;
	}

	.justify-content-sm-around {
		justify-content: space-around !important;
	}

	.align-items-sm-start {
		align-items: flex-start !important;
	}

	.align-items-sm-end {
		align-items: flex-end !important;
	}

	.align-items-sm-center {
		align-items: center !important;
	}

	.align-items-sm-stretch {
		align-items: stretch !important;
	}

	/* Grid */
	.grid-cols-sm-1 {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}

	.grid-cols-sm-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.grid-cols-sm-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.grid-cols-sm-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.grid-cols-sm-5 {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}

	.grid-cols-sm-6 {
		grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	}

	/* Spacing SM - Margin */
	.m-sm-0 {
		margin: 0px !important;
	}

	.m-sm-5 {
		margin: 5px !important;
	}

	.m-sm-10 {
		margin: 10px !important;
	}

	.m-sm-15 {
		margin: 15px !important;
	}

	.m-sm-20 {
		margin: 20px !important;
	}

	.m-sm-25 {
		margin: 25px !important;
	}

	.m-sm-30 {
		margin: 30px !important;
	}

	.m-sm-35 {
		margin: 35px !important;
	}

	.m-sm-40 {
		margin: 40px !important;
	}

	.m-sm-45 {
		margin: 45px !important;
	}

	.m-sm-50 {
		margin: 50px !important;
	}

	.mt-sm-0 {
		margin-top: 0px !important;
	}

	.mt-sm-5 {
		margin-top: 5px !important;
	}

	.mt-sm-10 {
		margin-top: 10px !important;
	}

	.mt-sm-15 {
		margin-top: 15px !important;
	}

	.mt-sm-20 {
		margin-top: 20px !important;
	}

	.mt-sm-25 {
		margin-top: 25px !important;
	}

	.mt-sm-30 {
		margin-top: 30px !important;
	}

	.mt-sm-35 {
		margin-top: 35px !important;
	}

	.mt-sm-40 {
		margin-top: 40px !important;
	}

	.mt-sm-45 {
		margin-top: 45px !important;
	}

	.mt-sm-50 {
		margin-top: 50px !important;
	}

	.mr-sm-0 {
		margin-right: 0px !important;
	}

	.mr-sm-5 {
		margin-right: 5px !important;
	}

	.mr-sm-10 {
		margin-right: 10px !important;
	}

	.mr-sm-15 {
		margin-right: 15px !important;
	}

	.mr-sm-20 {
		margin-right: 20px !important;
	}

	.mr-sm-25 {
		margin-right: 25px !important;
	}

	.mr-sm-30 {
		margin-right: 30px !important;
	}

	.mr-sm-35 {
		margin-right: 35px !important;
	}

	.mr-sm-40 {
		margin-right: 40px !important;
	}

	.mr-sm-45 {
		margin-right: 45px !important;
	}

	.mr-sm-50 {
		margin-right: 50px !important;
	}

	.mb-sm-0 {
		margin-bottom: 0px !important;
	}

	.mb-sm-5 {
		margin-bottom: 5px !important;
	}

	.mb-sm-10 {
		margin-bottom: 10px !important;
	}

	.mb-sm-15 {
		margin-bottom: 15px !important;
	}

	.mb-sm-20 {
		margin-bottom: 20px !important;
	}

	.mb-sm-25 {
		margin-bottom: 25px !important;
	}

	.mb-sm-30 {
		margin-bottom: 30px !important;
	}

	.mb-sm-35 {
		margin-bottom: 35px !important;
	}

	.mb-sm-40 {
		margin-bottom: 40px !important;
	}

	.mb-sm-45 {
		margin-bottom: 45px !important;
	}

	.mb-sm-50 {
		margin-bottom: 50px !important;
	}

	.ml-sm-0 {
		margin-left: 0px !important;
	}

	.ml-sm-5 {
		margin-left: 5px !important;
	}

	.ml-sm-10 {
		margin-left: 10px !important;
	}

	.ml-sm-15 {
		margin-left: 15px !important;
	}

	.ml-sm-20 {
		margin-left: 20px !important;
	}

	.ml-sm-25 {
		margin-left: 25px !important;
	}

	.ml-sm-30 {
		margin-left: 30px !important;
	}

	.ml-sm-35 {
		margin-left: 35px !important;
	}

	.ml-sm-40 {
		margin-left: 40px !important;
	}

	.ml-sm-45 {
		margin-left: 45px !important;
	}

	.ml-sm-50 {
		margin-left: 50px !important;
	}

	.mx-sm-0 {
		margin-left: 0px !important;
		margin-right: 0px !important;
	}

	.mx-sm-5 {
		margin-left: 5px !important;
		margin-right: 5px !important;
	}

	.mx-sm-10 {
		margin-left: 10px !important;
		margin-right: 10px !important;
	}

	.mx-sm-15 {
		margin-left: 15px !important;
		margin-right: 15px !important;
	}

	.mx-sm-20 {
		margin-left: 20px !important;
		margin-right: 20px !important;
	}

	.mx-sm-25 {
		margin-left: 25px !important;
		margin-right: 25px !important;
	}

	.mx-sm-30 {
		margin-left: 30px !important;
		margin-right: 30px !important;
	}

	.mx-sm-35 {
		margin-left: 35px !important;
		margin-right: 35px !important;
	}

	.mx-sm-40 {
		margin-left: 40px !important;
		margin-right: 40px !important;
	}

	.mx-sm-45 {
		margin-left: 45px !important;
		margin-right: 45px !important;
	}

	.mx-sm-50 {
		margin-left: 50px !important;
		margin-right: 50px !important;
	}

	.my-sm-0 {
		margin-top: 0px !important;
		margin-bottom: 0px !important;
	}

	.my-sm-5 {
		margin-top: 5px !important;
		margin-bottom: 5px !important;
	}

	.my-sm-10 {
		margin-top: 10px !important;
		margin-bottom: 10px !important;
	}

	.my-sm-15 {
		margin-top: 15px !important;
		margin-bottom: 15px !important;
	}

	.my-sm-20 {
		margin-top: 20px !important;
		margin-bottom: 20px !important;
	}

	.my-sm-25 {
		margin-top: 25px !important;
		margin-bottom: 25px !important;
	}

	.my-sm-30 {
		margin-top: 30px !important;
		margin-bottom: 30px !important;
	}

	.my-sm-35 {
		margin-top: 35px !important;
		margin-bottom: 35px !important;
	}

	.my-sm-40 {
		margin-top: 40px !important;
		margin-bottom: 40px !important;
	}

	.my-sm-45 {
		margin-top: 45px !important;
		margin-bottom: 45px !important;
	}

	.my-sm-50 {
		margin-top: 50px !important;
		margin-bottom: 50px !important;
	}

	/* Spacing SM - Padding */
	.p-sm-0 {
		padding: 0px !important;
	}

	.p-sm-5 {
		padding: 5px !important;
	}

	.p-sm-10 {
		padding: 10px !important;
	}

	.p-sm-15 {
		padding: 15px !important;
	}

	.p-sm-20 {
		padding: 20px !important;
	}

	.p-sm-25 {
		padding: 25px !important;
	}

	.p-sm-30 {
		padding: 30px !important;
	}

	.p-sm-35 {
		padding: 35px !important;
	}

	.p-sm-40 {
		padding: 40px !important;
	}

	.p-sm-45 {
		padding: 45px !important;
	}

	.p-sm-50 {
		padding: 50px !important;
	}

	.pt-sm-0 {
		padding-top: 0px !important;
	}

	.pt-sm-5 {
		padding-top: 5px !important;
	}

	.pt-sm-10 {
		padding-top: 10px !important;
	}

	.pt-sm-15 {
		padding-top: 15px !important;
	}

	.pt-sm-20 {
		padding-top: 20px !important;
	}

	.pt-sm-25 {
		padding-top: 25px !important;
	}

	.pt-sm-30 {
		padding-top: 30px !important;
	}

	.pt-sm-35 {
		padding-top: 35px !important;
	}

	.pt-sm-40 {
		padding-top: 40px !important;
	}

	.pt-sm-45 {
		padding-top: 45px !important;
	}

	.pt-sm-50 {
		padding-top: 50px !important;
	}

	.pr-sm-0 {
		padding-right: 0px !important;
	}

	.pr-sm-5 {
		padding-right: 5px !important;
	}

	.pr-sm-10 {
		padding-right: 10px !important;
	}

	.pr-sm-15 {
		padding-right: 15px !important;
	}

	.pr-sm-20 {
		padding-right: 20px !important;
	}

	.pr-sm-25 {
		padding-right: 25px !important;
	}

	.pr-sm-30 {
		padding-right: 30px !important;
	}

	.pr-sm-35 {
		padding-right: 35px !important;
	}

	.pr-sm-40 {
		padding-right: 40px !important;
	}

	.pr-sm-45 {
		padding-right: 45px !important;
	}

	.pr-sm-50 {
		padding-right: 50px !important;
	}

	.pb-sm-0 {
		padding-bottom: 0px !important;
	}

	.pb-sm-5 {
		padding-bottom: 5px !important;
	}

	.pb-sm-10 {
		padding-bottom: 10px !important;
	}

	.pb-sm-15 {
		padding-bottom: 15px !important;
	}

	.pb-sm-20 {
		padding-bottom: 20px !important;
	}

	.pb-sm-25 {
		padding-bottom: 25px !important;
	}

	.pb-sm-30 {
		padding-bottom: 30px !important;
	}

	.pb-sm-35 {
		padding-bottom: 35px !important;
	}

	.pb-sm-40 {
		padding-bottom: 40px !important;
	}

	.pb-sm-45 {
		padding-bottom: 45px !important;
	}

	.pb-sm-50 {
		padding-bottom: 50px !important;
	}

	.pl-sm-0 {
		padding-left: 0px !important;
	}

	.pl-sm-5 {
		padding-left: 5px !important;
	}

	.pl-sm-10 {
		padding-left: 10px !important;
	}

	.pl-sm-15 {
		padding-left: 15px !important;
	}

	.pl-sm-20 {
		padding-left: 20px !important;
	}

	.pl-sm-25 {
		padding-left: 25px !important;
	}

	.pl-sm-30 {
		padding-left: 30px !important;
	}

	.pl-sm-35 {
		padding-left: 35px !important;
	}

	.pl-sm-40 {
		padding-left: 40px !important;
	}

	.pl-sm-45 {
		padding-left: 45px !important;
	}

	.pl-sm-50 {
		padding-left: 50px !important;
	}

	.px-sm-0 {
		padding-left: 0px !important;
		padding-right: 0px !important;
	}

	.px-sm-5 {
		padding-left: 5px !important;
		padding-right: 5px !important;
	}

	.px-sm-10 {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.px-sm-15 {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	.px-sm-20 {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.px-sm-25 {
		padding-left: 25px !important;
		padding-right: 25px !important;
	}

	.px-sm-30 {
		padding-left: 30px !important;
		padding-right: 30px !important;
	}

	.px-sm-35 {
		padding-left: 35px !important;
		padding-right: 35px !important;
	}

	.px-sm-40 {
		padding-left: 40px !important;
		padding-right: 40px !important;
	}

	.px-sm-45 {
		padding-left: 45px !important;
		padding-right: 45px !important;
	}

	.px-sm-50 {
		padding-left: 50px !important;
		padding-right: 50px !important;
	}

	.py-sm-0 {
		padding-top: 0px !important;
		padding-bottom: 0px !important;
	}

	.py-sm-5 {
		padding-top: 5px !important;
		padding-bottom: 5px !important;
	}

	.py-sm-10 {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	.py-sm-15 {
		padding-top: 15px !important;
		padding-bottom: 15px !important;
	}

	.py-sm-20 {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}

	.py-sm-25 {
		padding-top: 25px !important;
		padding-bottom: 25px !important;
	}

	.py-sm-30 {
		padding-top: 30px !important;
		padding-bottom: 30px !important;
	}

	.py-sm-35 {
		padding-top: 35px !important;
		padding-bottom: 35px !important;
	}

	.py-sm-40 {
		padding-top: 40px !important;
		padding-bottom: 40px !important;
	}

	.py-sm-45 {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}

	.py-sm-50 {
		padding-top: 50px !important;
		padding-bottom: 50px !important;
	}

	/* Gap SM */
	.g-sm-0 {
		gap: 0px !important;
	}

	.g-sm-5 {
		gap: 5px !important;
	}

	.g-sm-10 {
		gap: 10px !important;
	}

	.g-sm-15 {
		gap: 15px !important;
	}

	.g-sm-20 {
		gap: 20px !important;
	}

	.g-sm-25 {
		gap: 25px !important;
	}

	.g-sm-30 {
		gap: 30px !important;
	}

	.g-sm-35 {
		gap: 35px !important;
	}

	.g-sm-40 {
		gap: 40px !important;
	}

	.g-sm-45 {
		gap: 45px !important;
	}

	.g-sm-50 {
		gap: 50px !important;
	}

	/* Typography SM */
	.ta-sm-left {
		text-align: left !important;
	}

	.ta-sm-center {
		text-align: center !important;
	}

	.ta-sm-right {
		text-align: right !important;
	}

	.fz-sm-12 {
		font-size: 12px !important;
	}

	.fz-sm-13 {
		font-size: 13px !important;
	}

	.fz-sm-14 {
		font-size: 14px !important;
	}

	.fz-sm-16 {
		font-size: 16px !important;
	}

	.fz-sm-18 {
		font-size: 18px !important;
	}

	.fz-sm-20 {
		font-size: 20px !important;
	}

	.fz-sm-22 {
		font-size: 22px !important;
	}

	.fz-sm-24 {
		font-size: 24px !important;
	}

	.fz-sm-26 {
		font-size: 26px !important;
	}

	.fz-sm-28 {
		font-size: 28px !important;
	}

	.fz-sm-30 {
		font-size: 30px !important;
	}

	.fz-sm-32 {
		font-size: 32px !important;
	}

	.fz-sm-34 {
		font-size: 34px !important;
	}

	.fz-sm-36 {
		font-size: 36px !important;
	}

	.fz-sm-38 {
		font-size: 38px !important;
	}

	.fz-sm-40 {
		font-size: 40px !important;
	}

	.fz-sm-42 {
		font-size: 42px !important;
	}

	.fz-sm-44 {
		font-size: 44px !important;
	}

	.fz-sm-46 {
		font-size: 46px !important;
	}

	.fz-sm-48 {
		font-size: 48px !important;
	}

	.fz-sm-50 {
		font-size: 50px !important;
	}

	.fw-sm-400 {
		font-weight: 400 !important;
	}

	.fw-sm-500 {
		font-weight: 500 !important;
	}

	.fw-sm-600 {
		font-weight: 600 !important;
	}

	.fw-sm-700 {
		font-weight: 700 !important;
	}

	.fw-sm-800 {
		font-weight: 800 !important;
	}

	.fw-sm-900 {
		font-weight: 900 !important;
	}
}

/* --------------------------------------------------------------------------
   MD: min-width 1025px
   -------------------------------------------------------------------------- */
@media (min-width: 1025px) {

	/* Display */
	.d-md-none {
		display: none !important;
	}

	.d-md-inline {
		display: inline !important;
	}

	.d-md-inline-block {
		display: inline-block !important;
	}

	.d-md-block {
		display: block !important;
	}

	.d-md-grid {
		display: grid !important;
	}

	.d-md-flex {
		display: flex !important;
	}

	.d-md-inline-flex {
		display: inline-flex !important;
	}

	/* Flex */
	.flex-md-row {
		flex-direction: row !important;
	}

	.flex-direction-md-row {
		flex-direction: row !important;
	}

	.flex-md-column {
		flex-direction: column !important;
	}

	.flex-direction-md-column {
		flex-direction: column !important;
	}

	.flex-md-row-reverse {
		flex-direction: row-reverse !important;
	}

	.flex-md-column-reverse {
		flex-direction: column-reverse !important;
	}

	.flex-md-wrap {
		flex-wrap: wrap !important;
	}

	.flex-md-nowrap {
		flex-wrap: nowrap !important;
	}

	.justify-content-md-start {
		justify-content: flex-start !important;
	}

	.justify-content-md-end {
		justify-content: flex-end !important;
	}

	.justify-content-md-center {
		justify-content: center !important;
	}

	.justify-content-md-between {
		justify-content: space-between !important;
	}

	.justify-content-md-around {
		justify-content: space-around !important;
	}

	.align-items-md-start {
		align-items: flex-start !important;
	}

	.align-items-md-end {
		align-items: flex-end !important;
	}

	.align-items-md-center {
		align-items: center !important;
	}

	.align-items-md-stretch {
		align-items: stretch !important;
	}

	/* Grid */
	.grid-cols-md-1 {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}

	.grid-cols-md-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.grid-cols-md-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.grid-cols-md-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.grid-cols-md-order-form {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 0.3fr) !important;
	}

	.grid-cols-md-5 {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}

	.grid-cols-md-6 {
		grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	}

	.grid-cols-md-7 {
		grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
	}

	.grid-cols-md-8 {
		grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
	}

	.grid-cols-md-9 {
		grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
	}

	.grid-cols-md-10 {
		grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
	}

	.grid-cols-md-11 {
		grid-template-columns: repeat(11, minmax(0, 1fr)) !important;
	}

	.grid-cols-md-12 {
		grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	}

	/* Spacing MD - Margin */
	.m-md-0 {
		margin: 0px !important;
	}

	.m-md-5 {
		margin: 5px !important;
	}

	.m-md-10 {
		margin: 10px !important;
	}

	.m-md-15 {
		margin: 15px !important;
	}

	.m-md-20 {
		margin: 20px !important;
	}

	.m-md-25 {
		margin: 25px !important;
	}

	.m-md-30 {
		margin: 30px !important;
	}

	.m-md-35 {
		margin: 35px !important;
	}

	.m-md-40 {
		margin: 40px !important;
	}

	.m-md-45 {
		margin: 45px !important;
	}

	.m-md-50 {
		margin: 50px !important;
	}

	.mt-md-0 {
		margin-top: 0px !important;
	}

	.mt-md-5 {
		margin-top: 5px !important;
	}

	.mt-md-10 {
		margin-top: 10px !important;
	}

	.mt-md-15 {
		margin-top: 15px !important;
	}

	.mt-md-20 {
		margin-top: 20px !important;
	}

	.mt-md-25 {
		margin-top: 25px !important;
	}

	.mt-md-30 {
		margin-top: 30px !important;
	}

	.mt-md-35 {
		margin-top: 35px !important;
	}

	.mt-md-40 {
		margin-top: 40px !important;
	}

	.mt-md-45 {
		margin-top: 45px !important;
	}

	.mt-md-50 {
		margin-top: 50px !important;
	}

	.mr-md-0 {
		margin-right: 0px !important;
	}

	.mr-md-5 {
		margin-right: 5px !important;
	}

	.mr-md-10 {
		margin-right: 10px !important;
	}

	.mr-md-15 {
		margin-right: 15px !important;
	}

	.mr-md-20 {
		margin-right: 20px !important;
	}

	.mr-md-25 {
		margin-right: 25px !important;
	}

	.mr-md-30 {
		margin-right: 30px !important;
	}

	.mr-md-35 {
		margin-right: 35px !important;
	}

	.mr-md-40 {
		margin-right: 40px !important;
	}

	.mr-md-45 {
		margin-right: 45px !important;
	}

	.mr-md-50 {
		margin-right: 50px !important;
	}

	.mb-md-0 {
		margin-bottom: 0px !important;
	}

	.mb-md-5 {
		margin-bottom: 5px !important;
	}

	.mb-md-10 {
		margin-bottom: 10px !important;
	}

	.mb-md-15 {
		margin-bottom: 15px !important;
	}

	.mb-md-20 {
		margin-bottom: 20px !important;
	}

	.mb-md-25 {
		margin-bottom: 25px !important;
	}

	.mb-md-30 {
		margin-bottom: 30px !important;
	}

	.mb-md-35 {
		margin-bottom: 35px !important;
	}

	.mb-md-40 {
		margin-bottom: 40px !important;
	}

	.mb-md-45 {
		margin-bottom: 45px !important;
	}

	.mb-md-50 {
		margin-bottom: 50px !important;
	}

	.ml-md-0 {
		margin-left: 0px !important;
	}

	.ml-md-5 {
		margin-left: 5px !important;
	}

	.ml-md-10 {
		margin-left: 10px !important;
	}

	.ml-md-15 {
		margin-left: 15px !important;
	}

	.ml-md-20 {
		margin-left: 20px !important;
	}

	.ml-md-25 {
		margin-left: 25px !important;
	}

	.ml-md-30 {
		margin-left: 30px !important;
	}

	.ml-md-35 {
		margin-left: 35px !important;
	}

	.ml-md-40 {
		margin-left: 40px !important;
	}

	.ml-md-45 {
		margin-left: 45px !important;
	}

	.ml-md-50 {
		margin-left: 50px !important;
	}

	.mx-md-0 {
		margin-left: 0px !important;
		margin-right: 0px !important;
	}

	.mx-md-5 {
		margin-left: 5px !important;
		margin-right: 5px !important;
	}

	.mx-md-10 {
		margin-left: 10px !important;
		margin-right: 10px !important;
	}

	.mx-md-15 {
		margin-left: 15px !important;
		margin-right: 15px !important;
	}

	.mx-md-20 {
		margin-left: 20px !important;
		margin-right: 20px !important;
	}

	.mx-md-25 {
		margin-left: 25px !important;
		margin-right: 25px !important;
	}

	.mx-md-30 {
		margin-left: 30px !important;
		margin-right: 30px !important;
	}

	.mx-md-35 {
		margin-left: 35px !important;
		margin-right: 35px !important;
	}

	.mx-md-40 {
		margin-left: 40px !important;
		margin-right: 40px !important;
	}

	.mx-md-45 {
		margin-left: 45px !important;
		margin-right: 45px !important;
	}

	.mx-md-50 {
		margin-left: 50px !important;
		margin-right: 50px !important;
	}

	.my-md-0 {
		margin-top: 0px !important;
		margin-bottom: 0px !important;
	}

	.my-md-5 {
		margin-top: 5px !important;
		margin-bottom: 5px !important;
	}

	.my-md-10 {
		margin-top: 10px !important;
		margin-bottom: 10px !important;
	}

	.my-md-15 {
		margin-top: 15px !important;
		margin-bottom: 15px !important;
	}

	.my-md-20 {
		margin-top: 20px !important;
		margin-bottom: 20px !important;
	}

	.my-md-25 {
		margin-top: 25px !important;
		margin-bottom: 25px !important;
	}

	.my-md-30 {
		margin-top: 30px !important;
		margin-bottom: 30px !important;
	}

	.my-md-35 {
		margin-top: 35px !important;
		margin-bottom: 35px !important;
	}

	.my-md-40 {
		margin-top: 40px !important;
		margin-bottom: 40px !important;
	}

	.my-md-45 {
		margin-top: 45px !important;
		margin-bottom: 45px !important;
	}

	.my-md-50 {
		margin-top: 50px !important;
		margin-bottom: 50px !important;
	}

	/* Spacing MD - Padding */
	.p-md-0 {
		padding: 0px !important;
	}

	.p-md-5 {
		padding: 5px !important;
	}

	.p-md-10 {
		padding: 10px !important;
	}

	.p-md-15 {
		padding: 15px !important;
	}

	.p-md-20 {
		padding: 20px !important;
	}

	.p-md-25 {
		padding: 25px !important;
	}

	.p-md-30 {
		padding: 30px !important;
	}

	.p-md-35 {
		padding: 35px !important;
	}

	.p-md-40 {
		padding: 40px !important;
	}

	.p-md-45 {
		padding: 45px !important;
	}

	.p-md-50 {
		padding: 50px !important;
	}

	.pt-md-0 {
		padding-top: 0px !important;
	}

	.pt-md-5 {
		padding-top: 5px !important;
	}

	.pt-md-10 {
		padding-top: 10px !important;
	}

	.pt-md-15 {
		padding-top: 15px !important;
	}

	.pt-md-20 {
		padding-top: 20px !important;
	}

	.pt-md-25 {
		padding-top: 25px !important;
	}

	.pt-md-30 {
		padding-top: 30px !important;
	}

	.pt-md-35 {
		padding-top: 35px !important;
	}

	.pt-md-40 {
		padding-top: 40px !important;
	}

	.pt-md-45 {
		padding-top: 45px !important;
	}

	.pt-md-50 {
		padding-top: 50px !important;
	}

	.pr-md-0 {
		padding-right: 0px !important;
	}

	.pr-md-5 {
		padding-right: 5px !important;
	}

	.pr-md-10 {
		padding-right: 10px !important;
	}

	.pr-md-15 {
		padding-right: 15px !important;
	}

	.pr-md-20 {
		padding-right: 20px !important;
	}

	.pr-md-25 {
		padding-right: 25px !important;
	}

	.pr-md-30 {
		padding-right: 30px !important;
	}

	.pr-md-35 {
		padding-right: 35px !important;
	}

	.pr-md-40 {
		padding-right: 40px !important;
	}

	.pr-md-45 {
		padding-right: 45px !important;
	}

	.pr-md-50 {
		padding-right: 50px !important;
	}

	.pb-md-0 {
		padding-bottom: 0px !important;
	}

	.pb-md-5 {
		padding-bottom: 5px !important;
	}

	.pb-md-10 {
		padding-bottom: 10px !important;
	}

	.pb-md-15 {
		padding-bottom: 15px !important;
	}

	.pb-md-20 {
		padding-bottom: 20px !important;
	}

	.pb-md-25 {
		padding-bottom: 25px !important;
	}

	.pb-md-30 {
		padding-bottom: 30px !important;
	}

	.pb-md-35 {
		padding-bottom: 35px !important;
	}

	.pb-md-40 {
		padding-bottom: 40px !important;
	}

	.pb-md-45 {
		padding-bottom: 45px !important;
	}

	.pb-md-50 {
		padding-bottom: 50px !important;
	}

	.pl-md-0 {
		padding-left: 0px !important;
	}

	.pl-md-5 {
		padding-left: 5px !important;
	}

	.pl-md-10 {
		padding-left: 10px !important;
	}

	.pl-md-15 {
		padding-left: 15px !important;
	}

	.pl-md-20 {
		padding-left: 20px !important;
	}

	.pl-md-25 {
		padding-left: 25px !important;
	}

	.pl-md-30 {
		padding-left: 30px !important;
	}

	.pl-md-35 {
		padding-left: 35px !important;
	}

	.pl-md-40 {
		padding-left: 40px !important;
	}

	.pl-md-45 {
		padding-left: 45px !important;
	}

	.pl-md-50 {
		padding-left: 50px !important;
	}

	.px-md-0 {
		padding-left: 0px !important;
		padding-right: 0px !important;
	}

	.px-md-5 {
		padding-left: 5px !important;
		padding-right: 5px !important;
	}

	.px-md-10 {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.px-md-15 {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	.px-md-20 {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.px-md-25 {
		padding-left: 25px !important;
		padding-right: 25px !important;
	}

	.px-md-30 {
		padding-left: 30px !important;
		padding-right: 30px !important;
	}

	.px-md-35 {
		padding-left: 35px !important;
		padding-right: 35px !important;
	}

	.px-md-40 {
		padding-left: 40px !important;
		padding-right: 40px !important;
	}

	.px-md-45 {
		padding-left: 45px !important;
		padding-right: 45px !important;
	}

	.px-md-50 {
		padding-left: 50px !important;
		padding-right: 50px !important;
	}

	.py-md-0 {
		padding-top: 0px !important;
		padding-bottom: 0px !important;
	}

	.py-md-5 {
		padding-top: 5px !important;
		padding-bottom: 5px !important;
	}

	.py-md-10 {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	.py-md-15 {
		padding-top: 15px !important;
		padding-bottom: 15px !important;
	}

	.py-md-20 {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}

	.py-md-25 {
		padding-top: 25px !important;
		padding-bottom: 25px !important;
	}

	.py-md-30 {
		padding-top: 30px !important;
		padding-bottom: 30px !important;
	}

	.py-md-35 {
		padding-top: 35px !important;
		padding-bottom: 35px !important;
	}

	.py-md-40 {
		padding-top: 40px !important;
		padding-bottom: 40px !important;
	}

	.py-md-45 {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}

	.py-md-50 {
		padding-top: 50px !important;
		padding-bottom: 50px !important;
	}

	/* Gap MD */
	.g-md-0 {
		gap: 0px !important;
	}

	.g-md-5 {
		gap: 5px !important;
	}

	.g-md-10 {
		gap: 10px !important;
	}

	.g-md-15 {
		gap: 15px !important;
	}

	.g-md-20 {
		gap: 20px !important;
	}

	.g-md-25 {
		gap: 25px !important;
	}

	.g-md-30 {
		gap: 30px !important;
	}

	.g-md-35 {
		gap: 35px !important;
	}

	.g-md-40 {
		gap: 40px !important;
	}

	.g-md-45 {
		gap: 45px !important;
	}

	.g-md-50 {
		gap: 50px !important;
	}

	/* Typography MD */
	.ta-md-left {
		text-align: left !important;
	}

	.ta-md-center {
		text-align: center !important;
	}

	.ta-md-right {
		text-align: right !important;
	}

	.fz-md-12 {
		font-size: 12px !important;
	}

	.fz-md-13 {
		font-size: 13px !important;
	}

	.fz-md-14 {
		font-size: 14px !important;
	}

	.fz-md-16 {
		font-size: 16px !important;
	}

	.fz-md-18 {
		font-size: 18px !important;
	}

	.fz-md-20 {
		font-size: 20px !important;
	}

	.fz-md-22 {
		font-size: 22px !important;
	}

	.fz-md-24 {
		font-size: 24px !important;
	}

	.fz-md-26 {
		font-size: 26px !important;
	}

	.fz-md-28 {
		font-size: 28px !important;
	}

	.fz-md-30 {
		font-size: 30px !important;
	}

	.fz-md-32 {
		font-size: 32px !important;
	}

	.fz-md-34 {
		font-size: 34px !important;
	}

	.fz-md-36 {
		font-size: 36px !important;
	}

	.fz-md-38 {
		font-size: 38px !important;
	}

	.fz-md-40 {
		font-size: 40px !important;
	}

	.fz-md-42 {
		font-size: 42px !important;
	}

	.fz-md-44 {
		font-size: 44px !important;
	}

	.fz-md-46 {
		font-size: 46px !important;
	}

	.fz-md-48 {
		font-size: 48px !important;
	}

	.fz-md-50 {
		font-size: 50px !important;
	}

	.fw-md-400 {
		font-weight: 400 !important;
	}

	.fw-md-500 {
		font-weight: 500 !important;
	}

	.fw-md-600 {
		font-weight: 600 !important;
	}

	.fw-md-700 {
		font-weight: 700 !important;
	}

	.fw-md-800 {
		font-weight: 800 !important;
	}

	.fw-md-900 {
		font-weight: 900 !important;
	}
}
